第一步挂载光盘 第二步配置yum源安装ftp以及vsftp服务。 关闭防火墙及其他服务 修改配置文件 去掉注释部分 第三步验证(匿名登录) 第四步(本地用户) 修改配置文件 配置文件添加下列几行 创建本地用户 验证

第五步虚拟用户创建

虚拟用户不是系统中存在的,因此比本地用户安全,步骤

第1步:建立虚拟FTP用户数据库文件。

第2步:创建FTP根目录及虚拟用户映射的系统用户。

第3步:建立支持虚拟用户的PAM认证文件。

第4步:在vsftpd.conf文件中添加支持配置。

第5步:为虚拟用户设置不同的权限。

第6步:重启vsftpd服务,验证实验效果。

第1步:建立虚拟FTP用户数据库文件。
    服务器端,切换目录cd /etc/vsftpd/
         [root@linux vsftpd]# vim vuser.list
        //单数行为帐号,双数行为密码。
        aaa
        aaa1
        bbb
        bbb1
        使用db_load命令用HASH算法生成FTP用户数据库文件vuser.db:  db_load -T -t hash -f vuser.list vuser.db
        FTP用户数据库内容很敏感,所以权限给小一些:chmod 600 vuser.db

第2步:创建FTP根目录及虚拟用户映射的系统用户。 创建用户virtual并设置为不允许登陆系统并定义该用户的家目录:useradd -d /var/ftproot -s /sbin/nologin virtual 为保证其他用户可以访问,给予rwxr-xr-x权限:chmod -Rf 755 /var/ftproot/

第3步:建立支持虚拟用户的PAM认证文件。
         [root@linux ~]# vim /etc/pam.d/vsftpd.vu

        //参数db用于指向刚刚生成的vuser.db文件,但不要写后缀。
        auth       required     pam_userdb.so db=/etc/vsftpd/vuser
        account    required     pam_userdb.so db=/etc/vsftpd/vuser

 第4步:在vsftpd.conf文件中添加支持配置。
         vim /etc/vsftpd/vsftpd.conf 

添加后的配置文件,已测试,可直接复制 anonymous_enable=NO local_enable=YES guest_enable=YES guest_username=virtual pam_service_name=vsftpd.vu allow_writeable_chroot=YES

write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=NO listen_ipv6=YES userlist_enable=YES tcp_wrappers=YES

user_config_dir=/etc/vsftpd/vusers_dir

    第5步:为虚拟用户设置不同的权限。 

    现在不论是aaa还是bbb帐户,他们的权限都是相同的——默认不能上传、创建、修改文件,
    如果希望用户blackshield能够完全的管理FTP内的资料,就需要让FTP程序支持独立的用户权限配置文件了:
      指定用户独立的权限配置文件存放的目录:vim /etc/vsftpd/vsftpd.conf (user_config_dir=/etc/vsftpd/vusers_dir)
  创建用户独立的权限配置文件存放的目录:mkdir /etc/vsftpd/vusers_dir/
  切换进入到该目录中:cd /etc/vsftpd/vusers_dir/
  创建空白的aaa的配置文件:touch aaa
  指定aaa用户的具体权限:vim bbb 下面一段直接复制会报错。

anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
第6步:重启vsftpd服务,验证实验效果。 setsebool -P ftpd_full_access=on 在客户端验证以上两个用户的权限。 aaa用户不能创建文件夹, bbb用户可以创建文件夹