说明:更改了ftpusers文件,root就可以正常登录系统里,这里需要说一下,在生产环境中我们是不推荐这样做的,因为ftp默认情况是不加密的,都是明文传输,如果用root登录,很有可能泄露root密码,从而威胁到linux系统。这也告诉我们,我们如果用系统帐号作为ftp的登录帐号,必须限制其登录shell类型,否则会有ftp用户登录到Linux系统的危险。/etc/vsftpd/ftpusers和/etc/vsftpd/user_list这两个文件中的用户具体是拒绝还是允许,都取决于两个参数的配置,ftpusers 取决于pam.d/vsftpd中的配置是否允许,user_list中的用户取决于userlist_deny=yes or no,一般我们都取默认值即可。
vsftpd服务指定用户身份运行
nopriv_user=nobody (默认值)
连接数限制
max_clients=0 最大并发连接数
max_per_ip=0 每个IP同时发起的最大连接数
传输速率:字节/秒
anon_max_rate=0 匿名用户的最大传输速率
local_max_rate=0 本地用户的最大传输速率
连接时间:秒为单位
connect_timeout=60 主动模式数据连接超时时长
accept_timeout=60 被动模式数据连接超时时长
data_connection_timeout=300 数据连接无数据输超时时长
idle_session_timeout=60 无命令操作超时时长
优先以文本方式传输
ascii_upload_enable=YES
ascii_download_enable=YES
这两个选项不建议大家配置,因为默认的是binary模式传输数据,如果配置了这两条后,进行传输二进制的文件会有问题,我们知道Windows和Linux的ascii文件格式是不一样的,windows上ascii的文件格式回车加换行表示Linux里的一个换行,这样一来,假如用户下载一个二进制程序,用windows客户端来下载,有可能存在破坏原来二进制文件的内容,导致下载下来的二进制程序不可用。虽然ftp客户端是可以切换传输模式,但还是不建议大家更改默认优先使用binary传输数据。因为我们用binary模式传输数据,没有破坏文件的风险,顶多下载一个文本文件它的格式不一样,但是我们可以用工具去转换呀,如果是二进制文件被破环了,相对文本文件去转换要难得多,所以还是推荐大家使用binary模式去传输数据。
配置FTP服务以非独立服务方运行
[root@test-node1 ~]#yum install vsftpd xinetd -y
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Package vsftpd-2.2.2-24.el6.x86_64 already installed and latest version
Package 2:xinetd-2.3.14-40.el6.x86_64 already installed and latest version
Nothing to do
[root@test-node1 ~]#grep "listen" /etc/vsftpd/vsftpd.conf
# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=YES
# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
# Make sure, that one of the listen options is commented !!
#listen_ipv6=YES
[root@test-node1 ~]#sed -i 's@listen=YES@listen=NO@' /etc/vsftpd/vsftpd.conf
[root@test-node1 ~]#grep "listen=" /etc/vsftpd/vsftpd.conf
listen=NO
[root@test-node1 ~]#cat >> /etc/xinetd.d/vsftpd << EOF
> service ftp
> {
> flags = REUSE
> socket_type = stream
> wait = no
> user = root
> server = /usr/sbin/vsftpd
> log_on_failure += USERID
> disable = no
> }
> EOF
[root@test-node1 ~]#cat /etc/xinetd.d/vsftpd
service ftp
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
log_on_failure += USERID
disable = no
}
[root@test-node1 ~]#/etc/init.d/xinetd start
Starting xinetd: [ OK ]
[root@test-node1 ~]#ss -ntlp |grep 21