在Linux上设置FTP服务器,你可以使用vsftpd(Very Secure FTP Daemon)这个非常流行且安全的FTP服务器软件
- 安装vsftpd:
对于基于Debian的系统(如Ubuntu):
sudo apt-get update sudo apt-get install vsftpd
对于基于RPM的系统(如CentOS、Fedora):
sudo yum install vsftpd
- 配置vsftpd:
打开vsftpd的配置文件,默认路径为/etc/vsftpd/vsftpd.conf
。你可以使用任何文本编辑器打开它,例如:
sudo nano /etc/vsftpd/vsftpd.conf
接下来,根据你的需求修改配置文件中的选项。以下是一些建议的修改:
- 将
anonymous_enable=YES
更改为anonymous_enable=NO
,以禁止匿名访问。 - 将
local_enable=YES
设置为local_enable=YES
,以允许本地用户登录。 - 将
write_enable=YES
设置为write_enable=YES
,以允许用户上传文件。 - 将
chroot_local_user=YES
设置为chroot_local_user=YES
,以限制用户访问自己的文件。 - 取消
allow_writeable_chroot
选项的注释(即删除行首的#),以允许chroot目录可写。
其他可选配置项可以根据需要进行修改。在修改完配置文件后,保存并关闭文件。
- 重启vsftpd服务:
对于基于Debian的系统:
sudo systemctl restart vsftpd
对于基于RPM的系统:
sudo systemctl restart vsftpd
- 配置防火墙:
确保你的防火墙允许FTP流量。以下是一些示例命令,具体取决于你使用的防火墙类型:
- 对于UFW(Uncomplicated Firewall):
sudo ufw allow 20/tcp # FTP数据端口 sudo ufw allow 21/tcp # FTP控制端口 sudo ufw allow 990/tcp # FTPS数据端口(可选) sudo ufw allow 40000:50000/tcp # FTP被动模式端口范围(可选)
- 对于firewalld:
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --permanent --add-service=ftps sudo firewall-cmd --reload
现在,你的Linux系统上的FTP服务器应该已经设置好了。请注意,根据你的具体需求,可能还需要进行其他配置。