[devel] Нелокальный вариант настроек PAM (system-auth и system-policy)
Evgeny Sinelnikov
sin на altlinux.org
Чт Ноя 28 08:52:18 MSK 2019
Доброе утро!
чт, 28 нояб. 2019 г. в 05:14, Mikhail Novosyolov <mikhailnov at altlinux.org>:
>
> 27.11.2019 22:16, Evgeny Sinelnikov пишет:
> > <...>
> >>> <...>
> >>> Настройка system-policy расширяемая и включает в себя, по умолчанию,
> >>> две политики - local и global.
> >>>
> >>> ~ # control system-policy help
> >>> global: global session policy with mkhomedir
> >>> local: local session policy
> >>> ~ # control system-policy summary
> >>> system session policy type
> >>> ~ # control system-policy help
> >>> global: global session policy with mkhomedir
> >>> local: local session policy
> >>> ~ # control system-policy
> >>> local
> >>>
> >>> По сути, первая от второй отличается только одним - наличием модуля
> >>> pam_mkhomedir.so
> >>>
> >>> ~ # cat /etc/pam.d/system-policy-local
> >>> #%PAM-1.0
> >>> session required pam_mktemp.so
> >>> session required pam_limits.so
> >>> ~ # cat /etc/pam.d/system-policy-global
> >>> #%PAM-1.0
> >>> session required pam_mktemp.so
> >>> session required pam_mkhomedir.so silent
> >>> session required pam_limits.so
> >>>
> >>> <...>
> >>>
> Хотелось бы поинтересоваться, рассматривали ли вы вопрос pam_mkhomedir
> vs pam_oddjob_mkhomedir?
Рассматривали. Пока не определились.
> Использовать dbus для создания домашней директории из-под pam кажется
> совсем перебором, но то, что это решает проблемы с контекстами selinux
> (https://access.redhat.com/discussions/903523#comment-766163), весьма
> разумно.
Нет, я не думаю, что это сильно перебор. Сейчас dbus везде. Ну, просто
везде. NetworkManager - это dbus, udisks2 - тоже, polkit - снова...
В штуках сейчас этих попугаев, как раз, тридцать восемь у меня:
$ LC_ALL=C apt-cache whatdepends libdbus | grep "Depends:
<libdbus-1.so.3()(64bit)>" | wc -l
38
Ну, и да... Именно вопрос selinux для RedHat был ключевым в данном случае.
В нашем случае. Вот прям сейчас. Сделан pam_oddjob_gpupdate, взят за
основу pam_oddjob_mkhomedir и отпилен от основного проекта:
https://github.com/altlinux/oddjob-gpupdate
http://git.altlinux.org/people/sin/packages/oddjob-gpupdate.git
Это модуль, позволяющий запускать из-под пользователя инструмент по
обновлению групповых политик с правами администратора. Служба oddjob
используется в данном случае для двух задач:
- для запуска процесса обновления групповых политик во время логина;
- для ручного запуска обновления групповых политик пользователем.
Сам gpupdate разрабатывается отдельно и готовится вместе в
oddjob-gpupdate уехать в сизиф.
Собственно, ради гибкого управления настройками этих модулей нам и
понадобился новый, гибкий control-метод system-policy, тесно увязанный
с уже существующим control-методом system-auth.
--
Sin (Sinelnikov Evgeny)
Подробная информация о списке рассылки Devel