下面以 CentOS 7 / CentOS 8 / Stream 为例,说明 vsftpd(Very Secure FTP Daemon) 的安装与基本配置。
yum update -y
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
查看状态:
systemctl status vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
如果是 被动模式(推荐),还需放行被动端口范围(见后面配置)。
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
编辑配置文件:
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pasv_min_port=30000
pasv_max_port=31000
重启服务:
systemctl restart vsftpd
useradd ftpuser
passwd ftpuser
限制用户只能 FTP(不能登录系统,可选):
usermod -s /sbin/nologin ftpuser
设置家目录权限:
chown -R ftpuser:ftpuser /home/ftpuser
如果使用了 pasv_min_port,需放行:
firewall-cmd --permanent --add-port=30000-31000/tcp
firewall-cmd --reload
ftp localhost
lftp无法连接
530 Login incorrect
/etc/vsftpd/user_list / ftpusers)上传失败
write_enable=YES如果你需要:
可以继续告诉我你的具体需求。