在Linux上安装FTP服务器有多种方法,其中最常用的是使用vsftpd(Very Secure FTP Daemon)。以下是在基于Debian的系统(如Ubuntu)和基于Red Hat的系统(如CentOS)上安装vsftpd的步骤。
在基于Debian的系统上安装vsftpd
-
更新包列表
sudo apt update
-
安装vsftpd
sudo apt install vsftpd
-
启动vsftpd服务
sudo systemctl start vsftpd
-
设置vsftpd开机自启动
sudo systemctl enable vsftpd
-
配置vsftpd 编辑vsftpd的配置文件
/etc/vsftpd.conf
:sudo nano /etc/vsftpd.conf
根据需要修改以下配置项:
listen=YES
:启用监听模式。listen_ipv6=NO
:禁用IPv6监听(如果不需要)。anonymous_enable=NO
:禁止匿名用户登录。local_enable=YES
:允许本地用户登录。write_enable=YES
:允许FTP写操作。chroot_local_user=YES
:将本地用户限制在其主目录中。allow_writeable_chroot=YES
:允许chroot目录可写。
-
重启vsftpd服务以应用更改
sudo systemctl restart vsftpd
在基于Red Hat的系统上安装vsftpd
-
更新包列表
sudo yum update
-
安装vsftpd
sudo yum install vsftpd
-
启动vsftpd服务
sudo systemctl start vsftpd
-
设置vsftpd开机自启动
sudo systemctl enable vsftpd
-
配置vsftpd 编辑vsftpd的配置文件
/etc/vsftpd/vsftpd.conf
:sudo nano /etc/vsftpd/vsftpd.conf
根据需要修改以下配置项:
listen=YES
:启用监听模式。listen_ipv6=NO
:禁用IPv6监听(如果不需要)。anonymous_enable=NO
:禁止匿名用户登录。local_enable=YES
:允许本地用户登录。write_enable=YES
:允许FTP写操作。chroot_local_user=YES
:将本地用户限制在其主目录中。allow_writeable_chroot=YES
:允许chroot目录可写。
-
重启vsftpd服务以应用更改
sudo systemctl restart vsftpd
配置防火墙
确保防火墙允许FTP流量。对于UFW(Uncomplicated Firewall),可以使用以下命令:
sudo ufw allow 21/tcp sudo ufw allow 20/tcp
对于firewalld,可以使用以下命令:
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload
测试FTP服务器
使用FTP客户端(如FileZilla)连接到你的服务器,测试是否可以正常上传和下载文件。
通过以上步骤,你应该能够在Linux上成功安装和配置一个FTP服务器。