Centos创建ftp服务器

时间:2021-01-04 21:35:58

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