在 Linux 上配置 FTP 服务器权限,通常取决于你用的是哪种 FTP 服务端软件。最常见的有:
下面以 vsftpd(非常常见) 为主说明,再补充通用思路。
# Debian / Ubuntu
apt install vsftpd
# CentOS / RHEL
yum install vsftpd
启动:
systemctl start vsftpd
systemctl enable vsftpd
/etc/vsftpd.conf
anonymous_enable=NO
✅ 生产环境一般关闭
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
⚠️ 如果不加 allow_writeable_chroot,用户主目录不可写会登录失败
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list
在 /etc/vsftpd.user_list 中写用户名即可禁止登录。
FTP 权限 = FTP 配置 + Linux 文件系统权限
示例:
useradd ftpuser
passwd ftpuser
mkdir /home/ftpuser/upload
chown ftpuser:ftpuser /home/ftpuser/upload
chmod 755 /home/ftpuser
r-xrwx适合“只给 FTP,不给系统账号”的场景。
步骤简述:
如果你需要,我可以专门写一份 vsftpd 虚拟用户完整教程。
apt install pure-ftpd
创建用户:
pure-pw useradd ftpuser -u www-data -d /var/www
pure-pw mkdb
权限由:
-u 指定系统用户setsebool -P ftp_home_dir on
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
看日志:
tail -f /var/log/vsftpd.log
# 或
journalctl -u vsftpd
我可以直接给你一份 可用的配置文件。