温馨提示×

centos ftpserver怎样修改权限

小樊
35
2026-09-15 04:32:56
栏目: 智能运维

在 CentOS 上修改 FTP 服务器权限,要看你用的是哪种 FTP 服务(最常见的是 vsftpd)。下面以 vsftpd 为例,分几种常见场景说明。


一、修改 FTP 用户目录权限(Linux 文件系统权限)

FTP 最终的权限 = Linux 文件权限 + vsftpd 配置限制

1. 查看 FTP 用户

cat /etc/passwd | grep ftp

2. 修改用户主目录权限

假设 FTP 用户是 ftpuser,目录是 /home/ftpuser

chown -R ftpuser:ftpuser /home/ftpuser
chmod -R 755 /home/ftpuser
  • 755:所有者可读写执行,其他用户只读
  • 若允许用户上传:
chmod -R 775 /home/ftpuser

二、vsftpd 配置权限控制(关键)

1. 编辑配置文件

vi /etc/vsftpd/vsftpd.conf

2. 常见权限相关配置

✅ 允许/禁止上传

write_enable=YES      # 允许写(上传、删除)

✅ 禁止匿名用户写

anon_upload_enable=NO
anon_mkdir_write_enable=NO

✅ 限制用户只能访问自己目录(推荐)

chroot_local_user=YES
allow_writeable_chroot=YES

否则登录后可能看到整个服务器目录(极不安全)


三、SELinux 导致 FTP 无权限(CentOS 常见坑)

查看 SELinux 状态

getenforce

允许 FTP 访问家目录

setsebool -P ftp_home_dir on

允许上传

setsebool -P allow_ftpd_full_access on

若仍不行,可临时关闭测试

setenforce 0

四、防火墙放行 FTP

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

五、重启 vsftpd

systemctl restart vsftpd
systemctl enable vsftpd

六、常见需求示例

场景 1:只允许某用户上传,不允许删除

  • Linux 层无法单独禁止“删除”
  • 可通过 FTP 虚拟用户 + 脚本权限审计规则 实现(较复杂)

场景 2:多个用户共享一个目录

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

如果你能告诉我:

  • 用的是 vsftpd / proftpd / pure-ftpd
  • 匿名 / 系统用户 / 虚拟用户
  • 想实现什么权限(只读 / 上传 / 不能删)

我可以给你一份精准配置示例

0