分类: LINUX
2011-10-26 22:46:51
vsFTP基础设置与管理
一 vsFTP安装
# yum install vsftpd -y
#chown ftp /var/ftp/pub //以防后续设置无法进行
二 vsFTP相关设置文件
1 /etc/vsftpd/vsftpd.conf vsFTP的主配置文件
2 /etc/pam.d/vsftpd vsFTP使用PAM模块时的相关配置文件,用作身份认证之用
3 /etc/vsftpd/ftpusers vsFTP使用PAM模块时,PAM模块指定的拒绝登录vsFTP的用户 配置文件,一行一个帐号
4 /etc/vsftpd/user_list 用来对用户是否可登录vsFTP进行设置,与主配置文件中的其他参数有关,当userlist_enable=yes,userlist_deny=yes时,该文件为拒绝登录;当userlist_enable=yes,
userlist_deny=no时,该文件为允许登录
5 /etc/vsftpd/chroot_list 用于将某些用户chroot建立在它们的默认目录下,与主配置文件的参数设置chroot_list_enable chroot_local_user chroot_list_file 设置有关
注:此文件默认情况下未建立,需用户自行建立该文件
6 /var/ftp/ 默认匿名用户登录的根目录
三 vsFTP具体设置
设置形式为“参数=设置值”,等号两端无空格
重要的参数设置
1 与主机相关的设置
listen_port=21 命令传输的端口号
dirmessage_enable=YES|NO 用户进入某个目录时,是否显示提示信息,默认NO
message_file=.massage 当dirmessage_enable=YES时,从.message文件中设置提示信息
listen=YES|NO 设置是否以stand alone 的方式启动
use_localtime=YES|NO 设置是否使用本地时间,默认使用GMT(格林威治)时间
write-enable=YES|NO 是否允许任何用户写入
connect_timeout=60 在60秒内客户端未响应,则强制断线
idle_session_timeout=300 用户在300秒内无任何操作,则强制断线
max_clients=0 设置最大用户数,0为无限制
max_per_ip=0 设置同一个IP可链接的最大次数
ftpd_banner= 设置FTP客户端登录时 的提示说明信息
banner_file=/path/file 设置具体的用户登录时的欢迎信息
2 与具体实名用户相关的设置
guest_enable=YES|NO 任何非匿名用户登录时,默认为guest身份
guest_username=ftp 指定guest的身份,以某个用户名登录
local_enable=YES|NO 是否允许本机用户登录(/etc/passwd中的用户)
local_max_rate =0 本地用户最大传输速度,单位bytes/s ,0为无限制.真实速度在该值左右波动
chroot_local_user=YES|NO 是否将用户限制在默认目录之内
chroot_list_enable=YES|NO 设置是否将用户限制在默认目录内
chroot-list_file=/etc/vsftpd/vsftpd.chroot_list 设置能够chroot的用户列表,一行一个帐号
注:当仅有chroot_list_enable=YES
chroot-list_file=/etvsftpd.confc/vsftpd.chroot_list
该文件中的用户将被限制于默认目录之内,其他用户未受限
当chroot_local_user=YES
chroot_list_enable=YES
chroot-list_file=/etvsftpd.confc/vsftpd.chroot_list
该文件中的用户不被限制,其他用户受限
userlist_enable=YES|NO 是否启用/etc/vsftpd/user_list列表,默认拒绝用户的列表
userlist_deny=YES|NO 设置user_list列表为拒绝还是通过
userlist_file= /etc/vsftpd/user_list 记录列表
注:默认情况下,userlist_enable=NO,userlist_deny=YES,此列表为拒绝列表
当userlist_enable=YES userlist_deny=NO 时,此列表为通过列表
3 与匿名用户相关的设置
anonymous_enable=YES|NO 是否允许匿名用户登录
anon_world_readable_only=YES|NO 仅允许匿名用户下载可读的文件
anon_mkdir_write_enable=YES|NO 是否允许匿名用户建立目录
anon_upload-enable=YES|NO 是否允许匿名用户上传
anon_other_write_enable=YES|NO 是否允许匿名用户拥有除上传与新建目录的其他写入权限,包括下载,删除等
anon_max_rate=0 设置匿名用户的传输速度,0为无限制
anon_umask=077 设置匿名用户新建文件或目录的umask
4 与系统安全相关的设置
tcp_wrappers=YES|NO 是否支持TCP Wrappers
xferlog_enable=YES|NO 是否记录用户上传与下载文件的信息
xferlog_file=/var/log/xferlog 用户上传下载信息记录文件
pam_service_name=vsftpd 设置相关PAM模块的名称,放于/etc/pam.d/目录下
更多的设置值查询,请查看帮助页
# man 5 vsftpd.conf
注:再进行vsFTP的设置时,还有一些功能为selinux的布尔值所控制,如:
allow_ftpd_anon_write 控制匿名用户拥有写入功能,在其开启后,用户才能写入;
ftp_home_dir 本机用户登录进入家目录功能,开启后,本机用户登录后自动进入到其在/home目录下的家目录,而不是/var/ftp/下
否则,即使设置了可写入的相关参数如兴建目录,上传等,都无法进行
此外,还有allow_ftpd_full_access allow_ftpd_use_cifs等,当设置正确仍无法登录时,请查看相关selinux的布尔值设置,检查相关功能是否已开启
#getsebool -a |grep ftp
#setsebool -P boolean value boolean为布尔 ,value为on|off ,大写P
例:#setsebool -P allow_ftpd_anon_write on