FTP文件传输协议(二)

3.访问控制列表

[root@linux6-1 vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@linux6-1 vsftpd]# cat user_list   查看用户列表的配置文件
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file   //如果使用userlist_deny=NO,仅允许列表里的用户访问
# If userlist_deny=YES (default), never allow users in this file, and    //如果使用userlist_deny=YES (default 默认 ),列表里的用户不允许访问
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

下面我们把zhangsan 用户添加到 user_list列表里

[root@linux6-1 vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@linux6-1 vsftpd]# echo "zhangsan" >> user_list    //将zhangsan 用户添加到user_list列表里 
[root@linux6-1 vsftpd]# service vsftpd reload    //重新加载配置文件
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

此时在使用客户机进行ftp的登录,就会发现zhangsan用户不能登录了,而lisi用户却可以登录

FTP文件传输协议(二)_第1张图片

如果修改下主配置文件

[root@linux6-1 vsftpd]# vim vsftpd.conf

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO    //仅允许列表里的用户进行访问
tcp_wrappers=YES

[root@linux6-1 vsftpd]# service vsftpd reload   //重新加载配置文件
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

此时用户zhangsan就可以登录了,lisi用户就不能登录了

FTP文件传输协议(二)_第2张图片

  1. 虚拟用户

下面给大家介绍下,虚拟用户

[root@linux6-1 vsftpd]# vim vuser
tom              //奇数行为用户名
123123           //偶数行为密码
jerry
123123

添加用户奇数行用户名,偶数行密码

[root@linux6-1 vsftpd]# db_load -T -t hash -f vuser vuser.db         //转换成数据库文件
[root@linux6-1 vsftpd]# chmod 600 vuser
[root@linux6-1 vsftpd]# chmod 600 vuser.db             //不让别人看见里面的信息
[root@linux6-1 vsftpd]# useradd -d /opt/vuser -s /sbin/nologin vuser      //创建一个用户为vuser 指定家目录/opt/vuser 并不使用shell登陆*/
root@linux6-1 vsftpd]# vi /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

[root@linux6-1 vsftpd]# vi /etc/vsftpd/vsftpd.conf
#pam_service_name=vsftpd
userlist_enable=YES
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.vu      //*开启虚拟用户,使用pam认证登陆*/

[root@linux6-1 vsftpd]# service vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

配置文件修改好之后重启ftp服务,此时就可以使用虚拟用户登录ftp了,并且我们可以上传一个文件,然后查看文件的属主和属组

FTP文件传输协议(二)_第3张图片

FTP文件传输协议(二)_第4张图片