一、FTP介绍
FTP(即文件传输服务器),是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作,Linux中推荐使用vsftpd。
vsftpd(very secure FTP daemon)是一款在Linux系统中最受欢迎的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。匿名访问方式任何用户都可以访问搭建的FTP服务;本地用户模式只支持添加的本地用户访问搭建的FTP服务。
二、配置介绍
1、[root@Linux ~]#yum install -y vsftpd
#安装vsftpd服务
2、[root@Linux ~]#systemctl enable vsftpd.service
#将vsftpd设为开机自启
3、[root@Linux ~]#netstat -nuptl | more
#21号端口,如果设置vsftpd服务是否有启动,没有的话启动一下
4、[root@Linux ~]#vim /etc/vsftpd/vsftpd.conf
#主配置文件,如果要运行多个vsftpd服务,则可以复制该文件为多份,如:vsftpd1.conf、vsftpd2.conf
5、[root@Linux ~]#chmod o+w /var/ftp/pub/
#修改权限为其他用户可写入
6、[root@Linux ~]# systemctl restart vsftpd.service
#重启服务使vsftpd生效
7、[root@Linux ~]# useradd test
[root@Linux ~]# passwd test
#创建本地用户和设置密码
8、[root@Linux ~]# mkdir /var/ftp/ftptest
[root@Linux ~]# chown -R test:test /var/ftp/ftptest/
#创建一个本地用户访问ftp默认的目录并赋予权限
三、其他重要配置
1、ls_recurse_enable=NO
#允许使用"ls -R" 指令,在一个大型FTP站点的根目录下使用"ls - R"会消耗大量系统资源
2、hide_ids=YES
#是否隐藏文件的所有者和组信息
3、write_enable=YES
#控制是否允许用户使用任何可以修改文件系统的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE等。
4、deny_file={*.mp3,.avi}
#限制上传下载这些文件
5、hide_file={.*,*.hide}
#隐藏这些文件
6、listen_address=
#vsftpd监听那个接口的ip,默认是所有
7、pasv_addr_resolve=YES|NO
#在被动模式下是否可以使用域名来代表外网IP,服务器会去解析具体IP地址的。
8、pass_address=
#可以填IP地址,如果上一项是YES的话这里可以填上服务器的域名,如果服务器是在内网的,则填上服务器外网IP
四、功能测试
通过ftp://ip地址访问,输入用户名和密码可以访问,配置成功。