CentOS7 +vsftpd 之 简单虚用户模式

介绍一种通过一用户列表式文件实现FTP用户管理,虚用户模式

一、建立虚用户

[root@localhost pub]# useradd -d /www/ftp -s /sbin/nologin vftpuser
[root@localhost pub]# chown vftpuser:vftpuser /www/ftp -R
[root@localhost pub]# cd /www/
[root@localhost www]# ls -al
总用量 0
drwxr-xr-x.  3 root     root      17 106 01:41 .
dr-xr-xr-x. 18 root     root     235 106 01:40 ..
drwxr-xr-x.  3 vftpuser vftpuser  17 106 01:41 ftp
[root@localhost www]# cd ftp
[root@localhost ftp]# mkdir showmuweb
[root@localhost ftp]# mkdir showmuftp
[root@localhost ftp]# mkdir showmuguest

[root@localhost /]# yum install -y tree

[root@localhost /]# tree /www
/www
└── ftp
    ├── pub
    │?? └── upload
    ├── showmuftp
    │?? └── test.txt
    └── showmuweb

二、创建用户列表

[root@localhost www]# vim /etc/vsftpd/vftpusers.txt
showmuftp
111111
showmuweb
222222
showmuguest
333333
[root@localhost www]# cd /etc/vsftpd

[root@localhost vsftpd]# ls
ftpusers   vftpusers.txt  vsftpd.conf_2017-10-05  vsftpd.conf.rpmsave
user_list  vsftpd.conf    vsftpd_conf_migrate.sh

[root@localhost vsftpd]# db_load -T -t hash -f /etc/vsftpd/vftpusers.txt /etc/vsftpd/vftpusers.db
[root@localhost vsftpd]# ls
ftpusers   vftpusers.db   vsftpd.conf             vsftpd_conf_migrate.sh
user_list  vftpusers.txt  vsftpd.conf_2017-10-05  vsftpd.conf.rpmsave

三、修改验证方式

[root@localhost vsftpd]# vim /etc/pam.d/vsftpd

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
auth required pam_userdb.so db=/etc/vsftpd/vftpusers
account required pam_userdb.so db=/etc/vsftpd/vftpusers
session    required     pam_loginuid.so
session    include      password-auth

四、修改vsftpd.conf设置

[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf
#结果如下
[root@localhost vsftpd]# grep -Ev '(^#\s.*|^#|^$)' vsftpd.conf
anonymous_enable=YES
anon_mkdir_write_enable=YES
anon_root=/www/ftp/pub
local_root=/www/ftp/pub
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vftpuser
user_config_dir=/etc/vsftpd/vftpuser_conf
allow_writeable_chroot=YES

五、创建每个用户个性权限

root@localhost vsftpd]# mkdir vftpuser_conf
[root@localhost showmuftp]# vim /etc/vsftpd/vftpuser_conf/showmuweb
local_root=/www/ftp/showmuweb
root@localhost vsftpd]# mkdir vftpuser_conf
[root@localhost showmuftp]# vim /etc/vsftpd/vftpuser_conf/showmuftp
local_root=/www/ftp/showmuftp
[root@localhost showmuftp]# vim /etc/vsftpd/vftpuser_conf/showmuguest
local_root=/www/ftp/showmuguest

上面五步就能完成,重启vsftpd服务。

六、增加删减用户

重第二步,并通过第五步修改权限。

转自http://www.cnblogs.com/showmu/p/7632787.html

猜你喜欢

转载自blog.csdn.net/cyan_grey/article/details/79926741