在 CentOS 上修改 FTP 服务器权限,要看你用的是哪种 FTP 服务(最常见的是 vsftpd)。下面以 vsftpd 为例,分几种常见场景说明。
FTP 最终的权限 = Linux 文件权限 + vsftpd 配置限制
cat /etc/passwd | grep ftp
假设 FTP 用户是 ftpuser,目录是 /home/ftpuser
chown -R ftpuser:ftpuser /home/ftpuser
chmod -R 755 /home/ftpuser
755:所有者可读写执行,其他用户只读chmod -R 775 /home/ftpuser
vi /etc/vsftpd/vsftpd.conf
write_enable=YES # 允许写(上传、删除)
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
allow_writeable_chroot=YES
否则登录后可能看到整个服务器目录(极不安全)
getenforce
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
setenforce 0
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
systemctl restart vsftpd
systemctl enable vsftpd
groupadd ftpgroup
usermod -aG ftpgroup user1
usermod -aG ftpgroup user2
chown -R :ftpgroup /data/ftp
chmod -R 775 /data/ftp
ls -l /home/ftpuser
getsebool -a | grep ftp
tail -f /var/log/messages
如果你能告诉我:
我可以给你一份精准配置示例。