VsFTP+本地文件认证+SSl实现虚拟用户配置
Posted Python学习之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VsFTP+本地文件认证+SSl实现虚拟用户配置相关的知识,希望对你有一定的参考价值。
1.实验环境:
[[email protected] ~]# cat /etc/centos-release
CentOS release 6.8 (Final)
[[email protected] ~]# uname -r
2.6.32-642.1.1.el6.x86_64
2.安装、启动vsftpd,并设置开机启动
[[email protected] ~]# yum install -y vsftpd
[[email protected] ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[[email protected] ~]# netstat -anplt|grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:*
[[email protected] ~]# chkconfig vsftpd on
[[email protected] ~]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3.配置虚拟用户
[[email protected] ~]# cd /etc/vsftpd/
[[email protected] /etc/vsftpd]# cp vsftpd.conf vsftpd.conf_bak_`date +%F`
[[email protected] /etc/vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd.conf_bak_2016-08-11 vsftpd_conf_migrate.sh
[[email protected] /etc/vsftpd]# groupadd -g 1500 vftpuser && useradd -g vftpuser -u 1500 -s /sbin/nologin -d /vftpuser vftpuser
[[email protected] /etc/vsftpd]# chown -R vftpuser.vftpuser /vftpuser/
[[email protected] /etc/vsftpd]# chmod go+rx /vftpuser/
[[email protected] /etc/vsftpd]# ls -ld /vftpuser/
drwxr-xr-x 2 vftpuser vftpuser 4096 Aug 11 11:59 /vftpuser/
[[email protected] /etc/vsftpd]# cat > vsftpd.conf << EOF
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd.localfile
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vftpuser
EOF
[[email protected] /etc/vsftpd]# cat > /etc/vsftpd/vsftpuser.txt << EOF
xiao
123
zheng
123
EOF
[[email protected] /etc/vsftpd]# if ! rpm -qa db4-utils >/dev/null 2>&1; then yum install db4-utils db4 -y;fi
[[email protected] /etc/vsftpd]# db_load -T -t hash -f /etc/vsftpd/vsftpuser.txt /etc/vsftpd/vsftpuser.db
[[email protected] /etc/vsftpd]# ll
total 40
-rw------- 1 root root 125 May 11 14:17 ftpusers
-rw------- 1 root root 361 May 11 14:17 user_list
-rw------- 1 root root 387 Aug 11 12:01 vsftpd.conf
-rw------- 1 root root 4599 Aug 11 11:56 vsftpd.conf_bak_2016-08-11
-rwxr--r-- 1 root root 338 May 11 14:17 vsftpd_conf_migrate.sh
-rw-r--r-- 1 root root 12288 Aug 11 12:04 vsftpuser.db
-rw-r--r-- 1 root root 19 Aug 11 12:03 vsftpuser.txt
[[email protected] /etc/vsftpd]# pam_LocalFile=`find / -type f -name "pam_userdb.so"`
[[email protected] /etc/vsftpd]# cat > /etc/pam.d/vsftpd.localfile << EOF
> auth required $pam_LocalFile db=/etc/vsftpd/vsftpuser
> account required $pam_LocalFile db=/etc/vsftpd/vsftpuser
> EOF
[[email protected] /etc/vsftpd]# echo >> vsftpd.conf
[[email protected] /etc/vsftpd]# echo "user_config_dir=/etc/vsftpd/vftpusers" >> /etc/vsftpd/vsftpd.conf
[[email protected] /etc/vsftpd]# echo >> vsftpd.conf
[[email protected] /etc/vsftpd]# echo "user_config_dir=/etc/vsftpd/vftpusers" >> /etc/vsftpd/vsftpd.conf
[[email protected] /etc/vsftpd]# mkdir -p /etc/vsftpd/vftpusers
[[email protected] /etc/vsftpd]# touch /etc/vsftpd/vftpusers/{Legion,LookBack}
[[email protected] /etc/vsftpd]# cat > /etc/vsftpd/vftpusers/Legion <<EOF
anon_upload_enable=YES
#允许Legion用户可以上传文件
anon_mkdir_write_enable=YES
#允许Legion用可以创建文件
anon_other_write_enable=YES
#允许Legion可以删除文件
EOF
[[email protected] /etc/vsftpd]# cat /etc/vsftpd/vftpusers/Legion > /etc/vsftpd/vftpusers/LookBack
[[email protected] /etc/vsftpd]# sed -i ‘s/YES/NO/g‘ /etc/vsftpd/vftpusers/LookBack
[[email protected] /etc/vsftpd]# service vsftpd restart
关闭 vsftpd: [确定]
为 vsftpd 启动 vsftpd: [确定]
[[email protected] /etc/vsftpd]# ss -tnl | grep 21
LISTEN 0 32 *:21 *:*
以上是关于VsFTP+本地文件认证+SSl实现虚拟用户配置的主要内容,如果未能解决你的问题,请参考以下文章