centos7下vsftp服务设置虚拟用户

1、安装 vsftpd服务

2、创建用于作为虚拟账号的系统账号

useradd-d/home/ftpsite virtual_user 
chmod700/home/ftpsite 

这个账号用于映射所有的虚拟账号


3、创立虚拟用户表

vi /etc/vsftpd/vftpuser.txt

abc

1234

bcd

2345

……

……

像上述那样,单数行是用户名,双数行是密码每两行一条记录


4、生成虚拟用户的db数据库文件

db_load -T -t hash -f /etc/vsftpd/vftpuser.txt  /etc/vsftpd/vftpuser.db


5、在pam.d认证文件中加入授权信息

vi /etc/pam.d/vsftpd
#%PAM-1.0

session    optional    pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=denyfile=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      system-auth
account    include     system-auth
session    include     system-auth
session    required    pam_loginuid.so

 

注释掉/etc/pam.d/vsftpd中所有的内容 反正已经不要本地用户的认证了

特别注意 以下区别
32位系统增加以下两句:
auth      required     pam_userdb.so db=/etc/vsftpd/vftpuser
account   required     pam_userdb.so db=/etc/vsftpd/vftpuser
64位系统增加以下两句:
auth   required    /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required    /lib64/security/pam_userdb.sodb=/etc/vsftpd/vftpuser


6、创建每个虚拟用户自己的配置文件

配置文件的路径是/etc/vsftpd/vsftpd.conf中的

user_config_dir=/etc/vsftpd/vuser_conf路径

在 /etc/vsftpd/vuser_conf/下面创建以用户名为名称的文件(名称是/etc/vsftpd/vftpuser.txt 下面的奇数行)


7、配置vsftpd.conf文件

vi /etc/vsftpd/vsftpd.conf

取消下面内容前面的注释或添加

anonymous_enable=YES/NO  是否允许匿名用户访问

chroot_list_enable=YES   限定用户不可以离开主目录

chroot_list_file=/etc/vsftpd/chroot_list 

loca_enable=YES/NO 本地用户是否可以访问 注:如果为NO 则所有虚拟用户都将不能访问原因:虚拟用户访问在主机上其实是以本地用户访问的

pam_service_name=vsftpd  pam认证文件名在/etc/pam.d/vsftpd

guest_enable=YES    启用虚拟用户功能

guest_username=virtual_user  指定虚拟用户的宿主用户 (注:此用户在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用户)

user_config_dir=/etc/vsftpd/vuser_conf 设置虚拟用户个人vsftp的服务配置文件

(此文件后面不能出现空格)


8、重启服务

你可能感兴趣的:(centos7下vsftp服务设置虚拟用户)