[root@rhel6www ~]# rpm -qa | grep vsftpd
vsftpd-2.2.2-6.el6_0.1.i686
[root@rhel6www ~]# yum install -y vsftpd
[root@rhel6www ~]#useradd -s /sbin/nologin vuser //首先创建一个用户,用来将虚拟用户映射为系统账户
建立一个虚拟用户文档:
[root@rhel6www vsftpd]# cat vuser
venus
venus
一行用户名一行密码,多个用户往下按序排列。
[root@rhel6www vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db //生成db文件
编辑vsftpd.conf添加:
guest_enable=yes //启用虚拟用户
guest_username=vuser //映射为的系统账户
pam_service_name=vsftpd //指定pam认证文件
user_config_dir=/etc/vsftpd/user_config //在user_config下创建各个虚拟用户自身的配置文件(不同用户不同权限,所以使用独自配置文件)
###被动模式及端口####
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30100
###被动模式####
配置pam:
[root@rhel6www vsftpd]# vi /etc/pam.d/vsftpd
将已有的内容屏蔽,添加两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
(上面地方特别注意,系统如果为64位,那么需要把lib改为lib64)
创建虚拟用户配置文件:
[root@rhel6www vsftpd]# mkdir /etc/vsftpd/user_config
[root@rhel6www vsftpd]#vi /etc/vsftpd/user_config/venus //配置文件要同名与用户名
添加:
local_root=/var/ftp/pub/venus //指定家目录 download_enable=yes //下载 anon_upload_enable=yes //上传 anon_mkdir_write_enable=yes //创建文件夹 anon_other_write_enable=yes //可删除文件 local_umask=022 anon_umask=022 file_open_mode=0755
[root@rhel6www ~]# chown -R vuser:vuser /var/ftp/pub/* //赋予家目录vuser属主属组,否则会没权限无法上传
启用了防火墙,需要修改iptables配置文件,放行被动端口:
[root@rhel6www ~]# vi /etc/sysconfig/iptables
添加:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 30000:30100 -j ACCEPT
保存重启iptables。测试。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/1687.html