У меня есть сервер 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 включенным, но разрешить создание каталогов?
Похоже на политическую ошибку. Попробуйте добавить эту политику, выполнив следующие действия ..
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)
');