CentOS 配置 FTP Server
1. 安装并设置 vsftpd
1.1. 安装 vsftpd
# yum install vsftpd
1.2. 开启 vsftpd 服务
# systemctl start vsftpd
1.3. 设置 vsftpd 开机自启动
# systemctl enable vsftpd
1.4. 查看 ftp 端口,默认为 21
# netstat -antup | grep ftp
2. 设置匿名访问模式
2.1. 通过 vim 打开 vsftpd.conf
# vim /etc/vsftpd/vsftpd.conf
2.2. 分别找到匿名模式(anonymous_enable
)以及匿名上传权限(anon_upload_enable
),并确认已修改为开启状态。
anonymous_enable=YES
anon_upload_enable=YES
2.3. 在文件尾增加如下三行。
#开启被动模式。
pasv_enable=YES
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#阿里云建议把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=50000
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=50010
2.4. 更改/var/ftp/pub目录的权限,为FTP用户添加写权限。/var/ftp/pub 是FTP服务默认的文件目录。
# chmod o+w /var/ftp/pub/
2.5. 重启 FTP 服务。
# systemctl restart vsftpd.service
2.6. 在阿里云安全组中打开 21 端口和 50000/50010 端口。
2.7. 大功告成!在 FileZilla 中测试吧。匿名模式无需输入账号密码,任何人都能无需密码随意访问。如果要设置账号密码可以接着往下看。
3. 设置本地用户模式
3.1. 为FTP服务创建一个Linux用户。
# adduser <用户名>
3.2. 修改该用户的密码。
# passwd <用户名>
3.3. 创建一个供 FTP 服务使用的文件目录。
# mkdir /var/ftp/filestore
3.4. 更改/var/ftp/test目录的拥有者为<用户名>。
# chown -R <用户名>:<用户名> /var/ftp/filestore
3.5. 再次用 vim 修改 vsftpd.conf。
# vim /etc/vsftpd/vsftpd.conf
3.6. 修改 vsftpd.conf 文件。
#禁止匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
#监听IPv4 sockets。
listen=YES
#在行首添加#注释掉以下参数:
#关闭监听IPv6 sockets。
#listen_ipv6=YES
3.7. 在配置文件末尾加入以下几行内容。
#设置本地用户登录后所在目录。
local_root=/var/ftp/filestore
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#服务器的公网IP。
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#阿里云建议把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=50000
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=50010
3.8. 创建chroot_list文件,并在文件中写入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。即便没有例外用户,也必须创建chroot_list文件,内容可为空。
vim /etc/vsftpd/chroot_list
3.9. 重启 FTP 服务。
# systemctl restart vsftpd.service
3.10. 大功告成!在 FileZilla 中输入你的用户名密码开始访问 FTP 服务器吧!
Subscribe
Login
0 Comments
Newest