pam_exec: разрешение отклонено из-за selinux

У меня RHEL 6.0, и я настроил pam_exec для запуска специального метода аутентификации через сценарий bash. Если SE Linux отключен, все работает, как ожидалось, но когда я включаю SELinux, я получаю сообщение об отказе в разрешении, когда pam_exec пытается выполнить скрипт. Как я могу указать SELinux разрешить выполнение этого сценария, когда пользователь пытается войти в систему?

/etc/pam.d/password-auth

auth        sufficient    pam_exec.so expose_authtok seteuid /opt/myscript.sh

audit.log

type=AVC msg=audit(1496962765.610:24707): avc:  denied  { execute } for  pid=7476 comm="gdm-session-wor" name="myscript.sh" dev=dm-0 ino=21416 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:usr_t:s0 tclass=file
0
задан 9 June 2017 в 02:53
1 ответ

У сценария другой контекст безопасности, который не позволяет pam_exec запускать его. Процесс pam_exec выполняется с контекстом system_u: system_r: xdm_t: s0-s0: c0.c1023 , тогда как сценарий имеет контекст unlimited_u: object_r: usr_t: s0 .

Вам нужно будет изменить тип скрипта, чтобы pam_exec мог его запускать; например через chcon -t xdm_t имя_сценария (возможно, вам придется изменить другие атрибуты файла / владельца, чтобы разрешить pam_exec запускать сценарий).

Это должно позволить вам протестировать сценарий, хотя вам, возможно, придется изменить введите обратно, если вам нужно запустить скрипт самостоятельно. Однако изменение не сохранится после перезагрузки или изменения меток файловой системы; для этого вам нужно запустить / usr / sbin / semanage fcontext -a -t xdm_t / full / path / to / script , чтобы записать изменение.

0
ответ дан 5 December 2019 в 08:03

Теги

Похожие вопросы