VSFTPD虚拟用户实现
VSFTPD虚拟用户所有的虚拟用户会统一映射为一个指定的系统帐号;访问共享位置即为此系统帐号的家目录各虚拟用户可赋予不同的访问权限,通过匿名用户的权限控制参数进行指定。
1、创建虚拟用户的帐号密码数据库文件 a、创建帐号密码文件
格式:奇数行为帐号,偶数行为密码# vim /etc/vsftpd/vusers.listtest1 #用户123456 #密码test2 123456test3123456 b、将该文件转换为二进制数据库文件,这里需要借助db4工具实现;
# yum installdb4 –y #安装db4工具 # cd /etc/vsftpd/ # db_load -T -t hash-f vusers.list vusers.db #生成数据库文件 # chmod 600vusers.* #修改权限,保证密码文件安全2、创建需要访问的FTP目录# useradd -d /var/ftproot-s /sbin/nologin vuser# chmod +rx /var/ftproot/ Centos7 还需要执行以下操作:# chmod –w/var/ftproot# mkdir/var/ftproot/upload# setfacl-m u:vuser:rwx/var/ftproot/upload
3、创建pam配置文件
# vim/etc/pam.d/vsftpd.dbauth required pam_userdb.sodb=/etc/vsftpd/vusers accountrequired pam_userdb.so db=/etc/vsftpd/vusers 注意:这后面的文件是不带后缀的。4、指定pam配置文件 # vim/etc/vsftpd/vsftpd.conf pam_service_name=vsftpd #设置 PAM 外挂模块提供的认证服务所使用的配置文件名guest_enable=YES #开启虚拟用户guest_username=vuser #指定虚拟用户映射的系统用户pam_service_name=vsftpd.db#指定虚拟用户帐号密码数据库文件 virtual_use_local_privs=YES #虚拟用户和本地用户有相同的权限;此时重启vsftpd 服务后,虚拟用户可正常登录。注意:selinux :可以禁用selinux 或者 执行setsebool –P ftpd_full_access 1 5、虚拟用户建立独立的配置文件 为满足各用户的不同需求可以对不同的虚拟用户创建独立的配置文件分别管理。
a、为个别虚拟用户创建独立的配置文件
#vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vuser.d/
b、为个别虚拟用户配置相关参数
# vim test2 anon_upload_enable=YES #允许上传 (允许虚拟用户test2上传文件) download_enable=NO #禁止下载 (禁止虚拟用户test2 下载文件) 至此实现虚拟用户的正常使用。Test1具有与其主目录相等权限允许上传、下载、删除等权限,test2只可上传不可下载。
页:
[1]