vsftp的配置文件详解

vsftp是very secure ftp的缩写,它最初的发展理念就是构建一个安全的ftp服务。现在它确实是一个非常安全稳定的ftp服务软件,广泛用作在Unix/Linux操作系统中,作为文件服务器使用。

安装vsftp

这里演示使用yum安装,该软件非常的小,总大小不到1M。

# yum install vsftpd

通过systemctl来开启vsftp

# systemctl start vsftpd

vsftp的配置文件

我们来查看该软件有哪些配置文件

# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

/etc/vsftpd/vsftpd 这个是最主要的配置文件

/etc/pam.d/vsftpd 这个是vsftp使用pam模块相关的配置文件

/etc/vsftpd/ftpusers 与上一个配置文件有关,用来限制ftp用户的登陆。我们来看默认会禁止哪些用户不能登录ftp。

# cat /etc/vsftpd/ftpusers 
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

/etc/vsftpd/user_list,该配置文件和/etc/vsftpd/vsftpd中的userlist_deny相关,如果userlist_deny=NO,则该配置文件未白名单,只允许该文件里的用户登陆ftp。若为yes,则为黑名单,该文件内的用户不允许登陆。

/etc/logrotate.d/vsftpd,该配置文件时vsftp服务的日志文件的轮替规则。

/etc/vsftpd/vsftpd.conf

这个文件是最主要的配置文件,下面一起看看有哪些重要选项,以及选项的含义。注意:若该选项被注释掉了,则说明未开启该功能。

anonymous_enable=YES:是否允许匿名用户登陆

local_enable=YES:是否允许本地用户登陆,即/etc/passwd文件中的用户

write_enable=YES:是否允许用户上传、修改、删除文件

local_umask=022:本地用户上传文件的默认权限

#anon_upload_enable=YES:是否允许匿名用户上传文件,

#anon_mkdir_write_enable=YES:是否允许匿名用户创建目录

xferlog_enable=YES:将上传下载的信息记录到/var/log/xferlog

connect_from_port_20=YES:主动连接的数据传输端口

#xferlog_file=/var/log/xferlog:xferlog日志存放位置

#chroot_local_user=YES:将用户限制在自己的家目录内

#chroot_list_enable=YES:与上条同时使用,设置要禁固宿主目录的用户的配置文件为/etc/vsftpd/chroot_list。

#chroot_list_file=/etc/vsftpd/chroot_list:建立文本文件/etc/vsftpd/chroot_list,写入要禁固宿主目录的用户,一行一个。当chroot_list_enable=YES时,则禁固chroot_list文件里面的用户的宿主目录,而为NO时chroot_list文件里面的用户不禁固宿主目录。

userlist_enable=YES:是否开启vsftp的阻挡机制来处理不受欢迎的账号。和下面的选项配合使用。

userlist_deny=YES:为YES时,则/etc/vsftpd/user_list为黑名单,为NO则为白名单。

tcp_wrappers=YES:开启tcp_wrappers功能。