首页 > 代码库 > VsFTP+本地文件认证+SSl实现虚拟用户配置

VsFTP+本地文件认证+SSl实现虚拟用户配置

1.实验环境:

 

[root@node21 ~]# cat /etc/centos-release CentOS release 6.8 (Final)[root@node21 ~]# uname -r2.6.32-642.1.1.el6.x86_64

2.安装、启动vsftpd,并设置开机启动

[root@node21 ~]# yum install -y vsftpd[root@node21 ~]# /etc/init.d/vsftpd startStarting vsftpd for vsftpd:                    [  OK  ][root@node21 ~]# netstat -anplt|grep 21tcp        0      0 0.0.0.0:21                  0.0.0.0:*   [root@node21 ~]# chkconfig vsftpd on[root@node21 ~]# chkconfig --list vsftpdvsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

3.配置虚拟用户

 

[root@node21 ~]# cd /etc/vsftpd/[root@node21 /etc/vsftpd]# cp vsftpd.conf vsftpd.conf_bak_`date +%F`[root@node21 /etc/vsftpd]# lsftpusers  user_list  vsftpd.conf  vsftpd.conf_bak_2016-08-11  vsftpd_conf_migrate.sh[root@node21 /etc/vsftpd]# groupadd -g 1500 vftpuser && useradd -g vftpuser -u 1500 -s /sbin/nologin -d /vftpuser vftpuser[root@node21 /etc/vsftpd]# chown -R vftpuser.vftpuser /vftpuser/ [root@node21 /etc/vsftpd]# chmod go+rx /vftpuser/[root@node21 /etc/vsftpd]# ls -ld /vftpuser/drwxr-xr-x 2 vftpuser vftpuser 4096 Aug 11 11:59 /vftpuser/[root@node21 /etc/vsftpd]#  cat > vsftpd.conf << EOFanonymous_enable=YESlocal_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=NOanon_mkdir_write_enable=NOdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESxferlog_file=/var/log/vsftpd.logchroot_local_user=YESlisten=YESpam_service_name=vsftpd.localfileuserlist_enable=YEStcp_wrappers=YESguest_enable=YESguest_username=vftpuserEOF[root@node21 /etc/vsftpd]# cat > /etc/vsftpd/vsftpuser.txt << EOFxiao123zheng123EOF[root@node21 /etc/vsftpd]# if ! rpm -qa db4-utils >/dev/null 2>&1; then yum install db4-utils db4 -y;fi[root@node21 /etc/vsftpd]# db_load -T -t hash -f /etc/vsftpd/vsftpuser.txt /etc/vsftpd/vsftpuser.db[root@node21 /etc/vsftpd]# lltotal 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[root@node21 /etc/vsftpd]# pam_LocalFile=`find / -type f -name "pam_userdb.so"`[root@node21 /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[root@node21 /etc/vsftpd]# echo >> vsftpd.conf[root@node21 /etc/vsftpd]# echo "user_config_dir=/etc/vsftpd/vftpusers" >> /etc/vsftpd/vsftpd.conf[root@node21 /etc/vsftpd]# echo >> vsftpd.conf[root@node21 /etc/vsftpd]# echo "user_config_dir=/etc/vsftpd/vftpusers" >> /etc/vsftpd/vsftpd.conf[root@node21 /etc/vsftpd]# mkdir -p /etc/vsftpd/vftpusers[root@node21 /etc/vsftpd]# touch /etc/vsftpd/vftpusers/{Legion,LookBack}[root@node21 /etc/vsftpd]# cat > /etc/vsftpd/vftpusers/Legion <<EOFanon_upload_enable=YES#允许Legion用户可以上传文件anon_mkdir_write_enable=YES#允许Legion用可以创建文件anon_other_write_enable=YES#允许Legion可以删除文件EOF[root@node21 /etc/vsftpd]# cat /etc/vsftpd/vftpusers/Legion > /etc/vsftpd/vftpusers/LookBack[root@node21 /etc/vsftpd]# sed -i ‘s/YES/NO/g‘ /etc/vsftpd/vftpusers/LookBack[root@node21 /etc/vsftpd]# service vsftpd restart关闭 vsftpd:                                              [确定]为 vsftpd 启动 vsftpd:                                    [确定][root@node21 /etc/vsftpd]# ss -tnl | grep 21LISTEN     0      32                        *:21                       *:*

VsFTP+本地文件认证+SSl实现虚拟用户配置