在 Linux 上搭建 FTP 服务器(常见如 vsftpd、proftpd、pure-ftpd)时,“设权限”通常包含 系统用户权限、目录权限、FTP 配置权限、上传/下载限制 等几个方面。下面以 最常用、最安全的 vsftpd 为例说明。
useradd -m ftpuser
passwd ftpuser
mkdir /home/ftpuser/ftp
chown ftpuser:ftpuser /home/ftpuser/ftp
chmod 755 /home/ftpuser
chmod 750 /home/ftpuser/ftp
✅ 原则:
配置文件通常在:
/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES # 允许写
chroot_local_user=YES
allow_writeable_chroot=YES
⚠️ 不加 allow_writeable_chroot 可能登录失败
user_config_dir=/etc/vsftpd/user_conf
为某用户单独配置:
mkdir -p /etc/vsftpd/user_conf
vim /etc/vsftpd/user_conf/ftpuser
示例(只读用户):
write_enable=NO
示例(可上传):
write_enable=YES
chmod 555 /home/ftpuser/readonly
chmod 755 /home/ftpuser/upload
chown ftpuser:ftpuser /home/ftpuser/upload
vsftpd 支持 虚拟用户(PAM + DB):
适合:
(如需要我可以单独写一份完整教程)
500 OOPS: vsftpd: refusing to run with writable root inside chroot
解决:
allow_writeable_chroot=YES
setsebool -P ftpd_full_access on
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
✅ 生产环境推荐:
如果你告诉我:
我可以直接给你一套 可复制的配置文件。