FTP(文件传输协议)服务器是Linux系统中常用的文件共享服务。以下是详细的安装和配置步骤:
常见的FTP服务器软件有: - vsftpd (Very Secure FTP Daemon) - 轻量级且安全 - ProFTPD - 功能丰富 - Pure-FTPd - 简单易用
推荐使用vsftpd,安装命令:
# 对于基于Debian的系统(如Ubuntu)
sudo apt update
sudo apt install vsftpd
# 对于基于RHEL的系统(如CentOS)
sudo yum install vsftpd
编辑配置文件(通常位于/etc/vsftpd.conf
):
sudo nano /etc/vsftpd.conf
常用配置选项:
# 禁止匿名登录(提高安全性)
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许上传文件
write_enable=YES
# 本地用户创建文件的umask
local_umask=022
# 禁止用户离开其主目录(增强安全性)
chroot_local_user=YES
allow_writeable_chroot=YES
# 被动模式设置(适合防火墙后的服务器)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
sudo useradd -m ftpuser
sudo passwd ftpuser
sudo usermod -s /sbin/nologin ftpuser
允许FTP端口通过防火墙:
# 对于UFW(Ubuntu)
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
# 对于firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=40000-50000/tcp
sudo firewall-cmd --reload
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
使用FTP客户端(如FileZilla)或命令行测试:
ftp your_server_ip
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
user_sub_token=$USER
local_root=/var/ftp/$USER
然后为每个用户创建目录并设置权限。
write_enable
设置/var/log/vsftpd.log
)通过以上步骤,您应该能够在Linux系统上成功安装和配置一个功能完善的FTP服务器。