在 Linux 上搭建 FTP 服务器(常见如 vsftpd) 时,权限设置通常涉及 系统用户权限、目录权限、FTP 配置限制 三部分。下面以最常见的 vsftpd 为例说明。
ftpuser/home/ftpuseruseradd -m ftpuser
passwd ftpuser
chown ftpuser:ftpuser /home/ftpuser
chmod 755 /home/ftpuser
⚠️ 注意
- FTP 用户 对根目录不能有写权限(vsftpd 安全限制)
- 上传目录要单独建
mkdir /home/ftpuser/upload
chown ftpuser:ftpuser /home/ftpuser/upload
chmod 755 /home/ftpuser/upload
配置文件一般在:
/etc/vsftpd/vsftpd.conf
# 禁止匿名
anonymous_enable=NO
# 允许本地用户
local_enable=YES
# 允许写操作
write_enable=YES
# 限制用户在家目录
chroot_local_user=YES
# 允许用户有写权限(新版必须)
allow_writeable_chroot=YES
# 上传文件权限
local_umask=022
原因:
/etc/vsftpd/user_list 或 ftpusers 禁止
解决:vim /etc/vsftpd/ftpusers
vim /etc/vsftpd/user_list
解决(二选一):
allow_writeable_chroot=YES
userlist_enable=YES
userlist_deny=NO
并在:
/etc/vsftpd/user_list
写入允许用户
适合多用户、高安全场景:
vftp)目录示例:
/var/ftp/vuser1
/var/ftp/vuser2
getsebool -a | grep ftp
setsebool -P ftpd_full_access on
/var/log/vsftpd.log
如果你告诉我:
我可以给你一份可直接用的配置模板。