ProFTPd 和 SELinux:mkdir 权限被拒绝

ProFTPd 和 SELinux:mkdir 权限被拒绝

我在 Centos 6.3 上有一个 ProFTPd 服务器,启用了 SELinux Enforcing。我的用户是平面文件中的虚拟用户。用户被 chroot 到通过 NFS 挂载的目录。我已经设置了以下策略:

/usr/sbin/semanage boolean -m --on allow_ftpd_use_nfs
/usr/sbin/semanage boolean -m --on allow_ftpd_anon_write

用户可以毫无问题地读取和写入文件。但是,他们无法创建目录。我在 audit.log 中看到以下内容:

type=AVC msg=audit(1364763704.972:25268): avc:  denied  { create } for  pid=2971 comm="proftpd" name="test4" scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:nfs_t:s0 tclass=dir

有没有办法让 SELinux 保持开启但允许创建目录?

答案1

这看起来像是策略错误。请尝试通过执行以下操作添加此策略。

  1. 创建一个名为“localftpd”的新目录
  2. 将以下内容放入此新目录内名为“localftpd.te”的文件中。
  3. 跑步make -f /usr/share/selinux/devel/Makefile load

这是您需要的政策修正案。

policy_module(localftpd, 1.0.0)

require {
    type ftpd_t;
    type nfs_t;
}

tunable_policy(`allow_ftpd_use_nfs && allow_ftpd_anon_write', `
    create_dirs_pattern(ftpd_t, nfs_t, nfs_t)
    delete_dirs_pattern(ftpd_t, nfs_t, nfs_t)
    rename_dirs_pattern(ftpd_t, nfs_t, nfs_t)
');

相关内容