一、基本设置
1、login banner
[root@station2 ~]# vi /etc/vsftpd/vsftpd.conf
ftpd_banner=Welcome to blah FTP service.
banner_file=/etc/vsftpd/banner
[root@station2 ~]# vi /etc/vsftpd/banner
Hello ,welcome to FTP
#ftpd_banner和banner_file均为ftp登陆信息显示,banner_file优先,有banner_file则显示该文件内容,不显示ftpd_banner信息
2、目录信息显示
[root@station2 ~]# vi /etc/vsftpd/vsftpd.conf
dirmessage_enable=YES #开启目录显示信息选项
[root@station2 ~]# vi /var/ftp/pub/.message
Hello,welcoem to /var/ftp/pub dir #编辑目录显示信息
[root@station3 ~]# ftp 192.168.32.32
Connected to 192.168.32.32.
220-Hello,Welcome to Server-U
220
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.32.32:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250-Hello,welcome /var/ftp/pub dir #显示/var/ftp/pub/.message内容
250 Directory successfully changed.
3、日志信息
[root@station2 ~]# vi /var/ftp/pub/.message
xferlog_enalbe=YES #记录上传和下载日志,只有上传和下载时才记录日志
xferlog_file=/var/log/xferlog #指定日志文件
log_ftp_protocol=YES #记录所有ftp的日子,包括连接、上传、下载等日志
xferlog_std_format=YES #兼容旧版wu-ftp日志格式
二、用户选项
1、锁定本地用户在根目录
[root@station2 ~]# vi /etc/vsftpd/vsftpd.conf
write_enable=YES #本地用户可写
local_enable=YES #开启本地用户可登陆,如NO只有anonymous用户可以登录ftp
chroot_list_enable=YES #开启目录锁定选项,默认不锁定
chroot_list_file=/etc/vsftpd/chroot_list #指定锁定目录的用户列表
chroot_local_user=YES
#如无此项则chroot_list中用户则锁定,如有此项则除了chroot_list中定义用户不锁定外,其他用户均锁定
[root@station2 ~]# vi /etc/vsftpd/chroot_list
netsword
#指定锁定的用户,如此则只有netsword能切换到其他目录,其他用户均只能访问知识家目录
2、限制可登陆ftp的用户和组
[root@station2 ~]# vi /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
#拒绝/etc/vsftpd/ftpusers中用户访问ftp
onerr=succeed
auth required pam_listfile.so item=group sense=deny file=/etc/vsftpd/ftpgroup
s onerr=succeed
#拒绝/etc/vsftpd/ftpgroup中组访问ftp
[root@station2 ~]# vi /etc/vsftpd/ftpgroups
guest2001 #指定guest2001组内用户无法访问ftp
#以上设置会出现要求输入帐号和密码,但是授权失败
[root@station2 ~]# vi /etc/vsftpd/vsftpd.conf
userlist_enable=YES #开启只允许指定的用户登录选项
userlist_deny=NO
[root@station2 ~]# vi /etc/vsftpd/user_list
netsword
# 如果userlist_deny=NO则只有netsword可以登录,如userlist_deny=YES则只有netsword不允许登录。在 netsword登陆时不会要求输入帐号和密码直接显示禁止登陆。如果和/etc/pam.d/vsftpd中定义发生冲突则拒绝优先
3、匿名用户登录选项
[root@station2 ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #允许匿名用户登陆
anon_upload_enable=YES #允许匿名用户上传
anon_umask=077 #上传文件默认权限掩码
chown_uploads=YES #改变上传文件属主
chown_username=root #将上传文件的用户改为root
4、网络链接限制
[root@station2 ~]# vi /etc/vsftpd/vsftpd.conf
max_clients=250 #同一时间最多250个访问链接
max_per_ip=10 #同一IP地址客户最多10个访问链接
tcp_wrappers=YES #开启tcpwrap访问访问限制
anon_max_rate=0 #匿名帐户传输速率限制,0表无限制,默认为0
local_max_rate=0 #本地帐户传输速率限制
[root@station2 ~]# vi /etc/hosts.deny
vsftpd:192.168.1.0/255.255.255.0:twist /bin/cat /var/ftp/.denied
#禁止192.168.1.0/24网段访问ftp,同时对其显示/var/ftp/.denied文件中内容
[root@station2 ~]# vi /var/ftp/.denied
Deny 192.168.1.0/24
三、用户子配置
[root@station2 ~]# vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/user_config_dir
#定义用户子配置文件目录,该目录中文件名为要定义子配置文件的用户名
[root@station2 ~]#vi /etc/vsftpd/user_config_dir/netsword
local_umask=077
local_max_rate=1024
#对netsword定义特定的选项,其他选项同全局配置文件/etc/vsftpd/vsftpd.conf