用户权限管理
用户分类:
以下用户都映射为系统用户。
用户的验证都是基于PAM的。
匿名用户
anonymous
用户的根目录是/var/ftp,被强行锁定到此。
虚拟用户:
系统用户
系统上存在的用户,其根目录就是/home/USERNAME
基于pam认证:
/etc/pam.d/*
/lib/security/*
/lib64/security/*
用户控制配置文件:
/etc/vsftpd/ftpusers pam认证黑名单,在此文件中的用户都禁止登陆ftp。
/etc/vsftpd/user_list ftp用户黑名单,若userlist_deny=YES,则禁止文件中的用户登陆ftp。若userlist_deny=NO则允许。
pam认证文件:
/etc/pam.d/vsftpd 指定了认证文件为ftpusers。
vsftpd提供了ftpusers和user_list文件对用户是否有权登陆ftp做出限定。除此以外,因为用户验证是基于pam的,所以还有vsftpd也对用户做出了相应的限制.
以下为各个文件内容:
[[email protected] vsftpd]# cat ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
nobody
[[email protected] vsftpd]# cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# 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
news
uucp
operator
games
nobody
[[email protected] vsftpd]# cat /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
session required pam_loginuid.so
session include password-auth
禁锢根目录相关:
默认情况下,用户登陆ftp后的根目录就是用户自己的家目录。
若不将用户禁锢在根目录,则登陆的用户可以通过cd命令至切换至根目录以外的目录,产生安全隐患。
配置文件中相关选项如下:
chroot_list_enable=YES 是否启用用户禁锢在家目录文件
chroot_list_file=/etc/vsftpd/chroot_list 指定禁锢文件,文件中的用户将被禁锢
chroot_local_user=YES 是否允许所有系统用户禁锢在家目录。
例如:
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
或者
chroot_local_user=YES