VSFTPD虚拟用户linux
全部的虚拟用户会统一映射为一个指定的系统账号;访问共享位置即为此系统账号的家目录各虚拟用户可赋予不一样的访问权限,经过匿名用户的权限控制参数进行指定。
数据库
1、建立虚拟用户的账号密码数据库文件vim
a、建立账号密码文件安全
格式:奇数行为账号,偶数行为密码ide
[root@localhost~]# vim /etc/vsftpd/vusers.list工具
test1 #用户ui
123456 #密码spa
test2 权限控制
123456hash
test3
123456
b、将该文件转换为二进制数据库文件,这里须要借助db4工具实现;
[root@localhost ~]# yum installdb4 –y #安装db4工具
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# db_load -T -t hash-f vusers.list vusers.db #生成数据库文件
[root@localhost vsftpd]# chmod 600vusers.* #修改权限,保证密码文件安全
[root@localhost ~]# useradd -d /var/ftproot-s /sbin/nologin vuser
[root@localhost ~]# chmod +rx /var/ftproot/
Centos7 还须要执行如下操做:
[root@localhost ~]# chmod –w /var/ftproot
[root@localhost ~]# mkdir/var/ftproot/upload
[root@localhost ~]# setfacl -m u:vuser:rwx /var/ftproot/upload
三、建立pam配置文件
[root@localhost ~]# vim/etc/pam.d/vsftpd.db
auth required pam_userdb.sodb=/etc/vsftpd/vusers
accountrequired pam_userdb.so db=/etc/vsftpd/vusers
注意:这后面的文件是不带后缀的。
[root@localhost ~]# 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
五、虚拟用户创建独立的配置文件
为知足各用户的不一样需求能够对不一样的虚拟用户建立独立的配置文件分别管理。
a、为个别虚拟用户建立独立的配置文件
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vuser.d/
b、为个别虚拟用户配置相关参数
[root@localhost vuser.d]# vim test2
anon_upload_enable=YES #容许上传 (容许虚拟用户test2上传文件)
download_enable=NO #禁止下载 (禁止虚拟用户test2 下载文件)
至此实现虚拟用户的正常使用。Test1具备与其主目录相等权限容许上传、下载、删除等权限,test2只可上传不可下载。