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

Домашние каталоги, созданные с неправильным контекстом Selinux

[root@tst-01 home]# ls -Z
drwxr-xr-x. ujjain   users          system_u:object_r:home_root_t:s0 ujjain
drwxr-xr-x. johndoe   users          system_u:object_r:home_root_t:s0 johndoe

Контекст selinux должен быть object_r: user_home_dir_t.

[root@tst-01 ~]# sesearch -T -t home_root_t
Found 10 semantic te rules:
   type_transition oddjob_mkhomedir_t home_root_t : dir user_home_dir_t;
   type_transition automount_t home_root_t : dir automount_tmp_t;
   type_transition lsassd_t home_root_t : dir user_home_dir_t;
   type_transition useradd_t home_root_t : dir user_home_dir_t;
   type_transition firstboot_t home_root_t : dir user_home_dir_t;
   type_transition smbd_t home_root_t : dir user_home_dir_t;
   type_transition quota_t home_root_t : file quota_db_t;
   type_transition sysadm_t home_root_t : dir user_home_dir_t;
   type_transition cups_pdf_t home_root_t : dir user_home_dir_t;
   type_transition postfix_virtual_t home_root_t : dir user_home_dir_t;

[root@tst-01 ~]# 

Новые домашние каталоги создаются с неправильным контекстом Selinux. Я могу исправить контекст selinux с помощью chcon, но это создает проблемы на нескольких серверах.

В чем может быть причина, по которой контекст изначально был задан неверно?

Дополнение к этому вопросу для будущих людей, которые могут столкнуться с этим. Если вы помещаете домашние каталоги в общий ресурс NFS, вам необходимо установить правильный контекст SELinux. Предполагая, что ваш домашний каталог nfs - / nfshome, сделайте следующее:

[root@host /]# semanage fcontext -a -e /home /nfshome
[root@host /]# restorecon -vR /nfshome

В случае пользователя $HOME каталоги, обычно в /home/$USER, вам не нужно использовать chcon, который изменяет контекст безопасности файлов и каталогов в смысле исключения их из политики и, чего стоит, не выдержит переназначения системы. Скорее, вам нужно выяснить, каков ожидаемый контекст безопасности каталогов:

# matchpathcon /home/ujjain
# matchpathcon /home/johndoe

И если контекст не совпадает с выводом ls -lrtZ, восстановите контекст:

# restorecon -v /home/ujjain
# restorecon -v /home/johndoe

Обратите внимание, что restorecon можно использовать рекурсивно -R.

Что касается вашего вопроса, причина, по которой эти каталоги имеют неправильную метку, зависит от процедуры, использованной для их создания (которую вы не указали), и местоположения /home каталог (например, локальная файловая система или NFS)

Проблема, похоже, здесь:

[root@tst-01 ~]# grep homedir /etc/pam.d/system-auth
session     optional      pam_mkhomedir.so skel=/etc/skel

Поскольку стек pam не должен создавать домедиров, модуль нечетных заданий должен использоваться для выполнения тяжелой работы вместо модуля pam_oddjob_mkhomedir, поскольку он требует меньше разрешений и хорошо работает с SELinux.