Признаки проблемы
Выполнение системного вызова shmget() из пользовательской сессии с ненулевой классификационной меткой заканчивается ошибкой вида:
Can't shmget: at ..
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
Устранение проблемы
Для того, чтобы разрешить использование IPC независимо от классификационой метки пользовательской сессии необходимо:
В файлах авторизации пользователей в каталоге /etc/pam.d в вызовы PAM-модуля pam_parsec_mac.so добавить параметр public_sysv_ipc. Если в файле имеются несколько вызовов PAM-модуля pam_paresec_mac.so, то параметр public_sysv_ipc добавить ко всем вызовам. В итоге вызовы модуля для стандартного набора файлов должны выглядеть так:
/etc/pam.d/fly-dm:session required pam_parsec_mac.so unshare_root_only public_sysv_ipc /etc/pam.d/fly-dm:auth required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/fly-dm:account required pam_parsec_mac.so labelselect=appset public_sysv_ipc /etc/pam.d/fly-dm:session required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/fly-dm-np:session required pam_parsec_mac.so unshare_root_only public_sysv_ipc /etc/pam.d/fly-dm-np:auth required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/fly-dm-np:account required pam_parsec_mac.so labelselect=appset public_sysv_ipc /etc/pam.d/fly-dm-np:session required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/login:session required pam_parsec_mac.so unshare_root_only public_sysv_ipc /etc/pam.d/login:auth required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/login:account required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/login:session required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/passwd:password required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/sshd:session required pam_parsec_mac.so stub public_sysv_ipc /etc/pam.d/sumac.xauth:auth required pam_parsec_mac.so public_sysv_ipc /etc/pam.d/sumac.xauth:account required pam_parsec_mac.so labelselect=appset public_sysv_ipc /etc/pam.d/sumac.xauth:session required pam_parsec_mac.so public_sysv_ipc
Если в каталоге /etc/pam.d имеются дополнительные файлы то в них нужно сделать аналогичные изменения.