在Linux系统上实现FTP文件共享,通常使用vsftpd(Very Secure FTP Daemon)这个软件。以下是配置vsftpd进行文件共享的步骤:
安装vsftpd
在Ubuntu/Debian系统上:
sudo apt update sudo apt install vsftpd
在CentOS/Red Hat系统上:
sudo yum install vsftpd
配置vsftpd
-
备份原始配置文件:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
-
编辑配置文件:
sudo nano /etc/vsftpd.conf
-
修改以下配置项:
anonymous_enable=YES
:启用匿名用户访问(根据需要设置为NO,以禁止匿名访问)。local_enable=YES
:启用本地用户访问。write_enable=YES
:允许用户上传文件。chroot_local_user=YES
:将本地用户限制在主目录中。pasv_enable=YES
:启用被动模式。pasv_min_port=40000
:设置被动模式端口的最小值。pasv_max_port=50000
:设置被动模式端口的最大值。pasv_address=::/0
:设置被动模式监听的IP地址及子网掩码(监听所有可用的网络接口)。
-
保存并退出编辑器,按
Ctrl+X
,然后按Y
,最后按Enter
键。 -
重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
配置防火墙
允许FTP流量通过防火墙:
sudo ufw allow 20/tcp # 用于FTP控制连接 sudo ufw allow 21/tcp # 用于FTP数据连接 sudo ufw allow 40000:50000/tcp # 被动模式端口范围
创建FTP用户
-
创建FTP用户:
sudo useradd -d /var/ftp/ -s /sbin/nologin ftpuser
这将创建一个名为
ftpuser
的用户,并将其主目录设置为/var/ftp/
,同时禁止该用户通过SSH登录。 -
设置FTP用户密码:
sudo passwd ftpuser
测试FTP连接
使用FTP客户端(如FileZilla)连接到FTP服务器:
- 主机:FTP服务器的IP地址或域名。
- 用户名:
ftpuser
。 - 密码:
ftpuser
设置的密码。
通过以上步骤,你就可以在Linux系统上成功配置vsftpd进行文件共享。根据实际需求,你还可以进一步调整配置文件中的设置,如启用SSL/TLS加密、设置更复杂的访问控制等。