322ggg 发表于 2018-1-22 11:31:02

构建基于虚拟用户的vsftpd服务器且每个用户拥有独立的目录

第一步:安装需要的软件vsftp,db4-utils,ftp(用于测试)                #yum -y install vsftpd db4-utils ftp
    第二步:建立虚拟FTP用户的帐号数据库文件
                #vi /etc/vsftpd/vusers_list
               vuser_list文件内容如下:
                     tom (用户名)

                     123   (用户密码)

                     jerry(用户名)

                     456   (用户密码)

                  注意:不要有空行,一行帐号,一行密码
                #cd /etc/vsftpd
                #db_load -T -t hash -f vusers_list vusers_login.db
                #chmod 600 /etc/vsftpd/vuser_login.db
   第三步:创建FTP根目录及虚拟用户映射的系统用户

                #useradd -d /var/ftproot -s /sbin/nologin vuser
                #chown vuser:vuser /var/ftproot
                #chmod 755 /var/ftproot
   第四步:建立支持虚拟用户的PAM认证文件

                #vi /etc/vsftpd/vsftpd.vu
                  vsftpd.vu文件添加如下二行内容

                        auth required pam_userdb.so db=/etc/vsftpd/vusers_login

                        account required pam_userdb.so db=/etc/vsftpd/vusers_login

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

               #vi /etc/vsftpd/vsftpd.conf
                  anonymous_enable=NO                                       //默认为YES,请修改为NO

                  local_enable=YES                                                //配置文件默认启用且为YES

                  write_enable=YES                                                //配置文件默认启用且为YES

                  anon_mkdir_write_enable=NO

                  anon_other_write_enable=NO

                  chroot_local_user=YES

                  guest_enable=YES               

                  guest_username=vuser                                       

                  pam_service_name=vsftpd.vu

                  user_config_dir=/etc/vsftpd/vusers_home

                  注意:红色字体需另外添加
      第六步:为用户分别建立相对应的目录

                  #mkdir /tmp/{tom,jerry}
      第七步:为用户建立独立的配置文件(权限控制文件名与用户名相同)

                  #mkdir /etc/vsftpd/vusers_home
                  #touch /etc/vsftpd/vusers_home/{tom,jerry}
      第八步:为用户单独分配不同的权限

                  #vi /etc/vsftpd/vusers_home/tom
                      tom文件内容如下(tom用户拥有上传,下载,新建,删除权限)

                        local_root=/tmp/tom

                        anon_upload_enable=YES

                        anon_mkdir_write_enable=YES

                        anon_other_write_enable=YES

                  #vi /etc/vsftpd/vusers_home/jerry
                        jerry文件内容如下(jerry用户只拥有上传,下载,新建权限,不允许删除操作)

                            local_root=/tmp/jerry

                            anon_upload_enable=YES

                            anon_mkdir_write_enable=YES

                            anon_other_write_enable=NO
      
   第九步:分别为tom和jerry目录授予文件权限                  #setfacl -m u:vuser:rwx /tmp/tom                  #setfacl -m u:vuser:rwx /tmp/jerry


      第十步:重启vsftpd服务

                  #service vsftpd restart
                  

页: [1]
查看完整版本: 构建基于虚拟用户的vsftpd服务器且每个用户拥有独立的目录