整理的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测试都是可以的。