简介
vsftpd是Very Secure FTP Daemon的缩写
至于FTP则是File Transfer Protocol的缩写
学习记录
使用命令yum install -y vsftpd进行服务的安装
安装完的配置文件项默认如下
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
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
- 注意listen和listen_ipv6行, 一般两项最多只能有一项是YES
listen项选择监听IPv4请求
listen_ipv6则同时监听IPv4和IPv6 - 默认状态下vsftpd是以standalone的模式运行的
当然它也可以由super daemon来控制
需要yum install -y xinetd
并添加下述配置文件
vim /etc/xinetd.d/vsftpd
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
disable = no
}
配置完后需要先把vsftpd服务停止systemctl stop vsftpd
然后再启动xinetdxinetd
[^ 笔者通过xinetd启动vsftp后, 发现从其它客户机无法使用匿名账号登录ftp服务, 而本机使用 ftp localhost 则可以. 至于是什么原因导致, 目前还在查询资料]
配置文件解读
yum安装的vsftpd的配置文件为 /etc/vsftpd/vsftpd.conf
pam_service_name
PAM针对vsftpd服务调用的配置名, 可以查看 /etc/pam.d/ 路径了解详细
该值为 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
文件内指定了如果用户在 /etc/vsftpd/ftpusers 列表内, 则不允许其使用 vsftpd 服务.
cat /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp
root
bin
…以下省略…
也可以发现, 文件首行注明了该文件用途
userlist_enable / userlist_file / userlist_deny
userlist_enable 设置是否启用 userlist 功能, 默认为NO, 设置为YES时 userlist_file 跟 userlist_deny 项设置方能生效
userlist_file 指定 userlist 的路径, 默认是 /etc/vsftpd/user_list
userlist_deny 设定 userlist 的使用方式, 默认是YES, YES时禁止 userlist_file 中的用户使用vsftpd; NO时仅允许 userlist_file 中的用户使用vsftpd
allow_writeable_chroot
在开启 chroot 功能时会涉及到的设置项, 如果开启了 chroot 但是没有将其设置为 YES 的话, 被chroot的账号登录时会报错
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
查阅到的资料说也可以用chmod a-w
命令来去除账号家目录的写权限
[ 参考链接 ]
不过根据manpage中的内容, 该项默认为 NO, 设置为 YES 会存在风险, 具体危害笔者还在查询资料中…