Назад | Перейти на главную страницу

ProFTPd и SELinux: разрешение mkdir отказано

У меня есть сервер ProFTPd на Centos 6.3 с SELinux Enforcing. Мои пользователи - это виртуальные пользователи в плоском файле. Пользователи привязаны к каталогам, смонтированным через 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. Создайте новый каталог с именем "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)
');