整理的ftp服务的笔记: http://services.linuxpanda.tech/%E7%BD%91%E7%BB%9C%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB/ftp.html
1.安装vsftpd
默认Centos7是安装vsftpd的, 如果没有请使用yum安装
[root@mail ~]# yum install vsftpd -y
2.启动并查看vsftpd启动模式
[root@mail ~]# systemctl restart vsftpd.service #重启服务
[root@mail ~]# netstat -tunpl |grep 21 #查看vsftp启动模式
tcp6 0 0 :::21 :::* LISTEN 3448/vsftpd
从上面可以看到是vsftpd启动的,而不是xinetd启动的。 所以默认的启动模式是stand alone模式。
3.保存默认的配置文件
[root@mail ~]# cd /etc/vsftpd/
[root@mail vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh #这个vsftpd.conf 就是vsftpd.conf的默认配置文件了
[root@mail vsftpd]# mv vsftpd.conf vsftpd.conf.default #备份一份
[root@mail vsftpd]# cat vsftpd.conf.default | grep -v "# .*" > vsftpd.conf #把解释行过滤掉, 保持有效的数据到默认的配置文件中去
4.常用参数简要说明下
anonymous_enable=YES 支持匿名用户登录
local_enable=YES 支持本地用户登录
connet_from_poort_20=YES 支持主动连接方式
详细的参数说明可以使用man命令获取
[root@mail vsftpd]# man 5 vsftpd.conf
或者访问网址 http://vsftpd.beasts.org/vsftpd_conf.html
5.我的一个需求是这样的
- 只支持匿名登录
- 使用本地的时间而非GMT时间
- 提供欢迎信息
- 文件传输速度限制在1m/s以内
- 数据连接的过程只要超过60秒没有响应,就强制client断线
- 只要匿名用户查过10分钟没有操作就断线
- 最大同时人数限制为20人,同一个ip最大连接数是2
[root@mail vsftpd]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
no_anon_password=YES
anon_max_rate=1000000
data_connection_timeout=60
idle_session_timeout=600
max_client=20
max_per_ip=2
local_enable=NO use_localtime=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
banner_file=/etc/vsftpd/anon_welcome.txt
接下来就是重启服务啦,(记得创建anon_welcome.txt
6.测试ftp
使用lftp, 或者ftp测试都是可以的。