Loading... ## 前言 ## 今天折腾了很久,各种各样的问题出现,特此记录一下,以防再次翻车 **第一步:安装vsftpd** > yum install vsftpd lftp libdb-utils -y <div class="tip inlineBlock warning"> lftp:是连接lftp的工具<br>libdb-utils:后面制作虚拟用户数据库需要的工具 </div> 至此,vsftpd安装完毕 实现虚拟用户需要以下几个步骤: 1. 建立虚拟用户数据库文件并添加pam认证机制 2. 创建ftp根目录及其虚拟用户映射的系统用户 3. 修改vsftpd的配置文件 4. 为虚拟用户创建权限文件 5. 启用服务 ## 一:创建虚拟用户的数据库文件 ## ~]# cd /etc/vsftpd ~]# vim vusers_list 添加以下用户(奇数行为用户名,偶数行为密码) user1 123456 user2 456789 :wq 保存文件,接着把该文件转换为数据库文件 > ~]# db_load -T -t hash -f vusers_list vusers.db 为安全起见修改数据库文件的权限 ~]# chmod 600 vusers.db 用户的数据库文件就制作完成了,下面添加pam机制,配置文件在/etc/pam.d/ ~]# cd /etc/pam.d ~]# vim vsftpd.vu 键入以下内容 auth required pam_userdb.so db=/etc/vsftpd/vusers #认证双方密码必须通过pam,db为用户数据库文件路径,不需要加扩展名 account required pam_userdb.so db=/etc/vsftpd/vusers #账户信息 :wq保存 ## 二:创建ftp根目录以及映射的系统用户 ## 创建ftp根目录,本文演示的根目录为/var/ftproot ~]# mkdir /var/ftproot 创建映射的系统用户 ~]# useradd -s /sbin/nologin 修改用户的家目录 ~]# vim /etc/passwd 修改倒数第二个字段为: /var/ftproot ~]# chown -R ftpadmin.ftpadmin /var/ftproot 修改用户家目录属组,属主为ftp映射的系统用户 ## 三:修改vsftpd的配置文件 ## ~]# vim /etc/vsftpd/vsftpd.conf 主要修改以下几项,没有的就新增 anonymous_enable=NO #禁止匿名用户登录 anon_mkdir_write_enable=NO #禁止匿名用户的写权限 pam_service_name=vsftpd.vu #修改为刚刚我们新建的pam文件"vsftpd.vu" guest_enable=YES #启用虚拟用户 guest_username=ftpadmin #虚拟用户映射的系统用户,刚刚创建的系统用户 "ftpadmin" user_config_dir=/etc/vsftpd/vuser.d #虚拟用户的配置文件 allow_writeable_chroot=YES #允许用户在其主目录有写权限,非常重要,必须有 reverse_lookup_enable=NO #禁用dns反解,不然很慢 chroot_local_user=YES #禁止本地用户离开自己的主目录 :wq保存 ## 四:为虚拟用户提供权限文件 ## ~]# cd /etc/vsftpd 进入vsftpd的配置文件目录 ~]# mkdir vuser.d && cd vuser.d 进入vuser.d目录 ~]# vim user1 <div class="tip inlineBlock warning"> 这里的配置文件为每个用户一个文件,且文件名和用户名一致 </div> 给用户user1写入权限 local_root=/var/ftproot/admin #指定用户的家目录 anon_mkdir_write_enable=YES #写权限 anon_upload_enable=YES #上传权限 :wq保存退出 ~]# vim user2 不给用户user2写入权限 anon_mkdir_write_enable=NO ## 五:启动服务 ## ~]# systemctl start vsftpd.service 启动服务 ~]# systemctl enable vsftpd.service 开机启动服务 <div class="tip inlineBlock warning"> 在centos 7上出现让博主很迷的情况,登录ftp后可以看到文件夹,可创建文件夹,上传文件,但是看不到上传的文件,只能看到文件夹。<br>后来改变ftproot的权限为777以后就可以看到文件了,然后再把权限改回755,文件也能正常显示了。博主不知道具体原因 </div> ---------- <div class="tip inlineBlock warning"> 注意:新版本的vsftpd安全限制较高,必须加入下面这个配置:<br>allow_writeable_chroot=YES </div> ---------- END 最后修改:2019 年 09 月 22 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏