Linux如何搭建FTP服务
非凡云为大家分享linux如何搭建FTP服务,示例为CentOS7
1.登录云服务器
2.安装vsftpd
yum install -y vsftpd
3.设置vsftpd开机自启动
systemctl enable vsftpd
4.启动FTP服务
systemctl start vsftpd
5.确认FTP服务是否启动
netstat -antup | grep ftp
显示结果如下,则说明 FTP 服务已成功启动。
此时,vsftpd 已默认开启匿名访问模式,无需通过用户名和密码即可登录 FTP 服务器。使用此方式登录 FTP 服务器的用户没有修改或上传文件的权限。
6.为FTP服务创建一个Linux用户,以ftpuser为例
useradd ftpuser
7.设置ftpuser的密码
passwd ftpuser
8.创建FTP服务使用的文件目录,以 /var/ftp/test 为例
mkdir /var/ftp/test
9.修改目录权限
chown -R ftpuser:ftpuser /var/ftp/test
10.打开vsftpd.conf文件
vim /etc/vsftpd/vsftpd.conf
11.按 i 切换至编辑模式,根据实际需求选择 FTP 模式,修改配置文件 vsftpd.conf
FTP 可通过主动模式和被动模式与客户端机器进行连接并传输数据。由于大多数客户端机器的防火墙设置及无法获取真实 IP 等原因,建议您选择被动模式搭建 FTP 服务。如下修改以设置被动模式为例。
修改以下配置参数,设置匿名用户和本地用户的登录权限,设置指定例外用户列表文件的路径,并开启监听 IPv4 sockets。
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
在行首添加 #,注释 listen_ipv6=YES 配置参数,关闭监听 IPv6 sockets
#listen_ipv6=YES
添加以下配置参数,开启被动模式,设置本地用户登录后所在目录,以及云服务器建立数据传输可使用的端口范围值。
local_root=/var/ftp/test
allow_writeable_chroot=YES
#pasv_enable=YES 被动模式,pasv_enable=NO 主动模式
pasv_enable=YES
#请修改为您的云服务器公网IP
pasv_address=xxx.xx.xxx.xx
pasv_min_port=40000
pasv_max_port=45000
12.按 Esc 后输入 :wq 保存后退出
13.创建并编辑 chroot_list 文件
vim /etc/vsftpd/chroot_list
14.按 i 进入编辑模式,输入用户名,一个用户名占据一行,设置完成后按 Esc 并输入 :wq 保存后退出
设置的用户将会被锁定在主目录,您若没有设置例外用户的需求,可跳过此步骤,输入 :q 退出文件
15.重启 FTP 服务
systemctl restart vsftpd
16.设置云服务器安全组
被动模式:放通端口21,及配置文件 /etc/vsftpd/vsftpd.conf 中设置的 pasv_min_port 到 pasv_max_port 之间的所有端口,以放通端口40000 - 45000为例