[devel] Нелокальный вариант настроек PAM (system-auth и system-policy)

Mikhail Novosyolov mikhailnov на altlinux.org
Чт Ноя 28 16:56:03 MSK 2019


Добрый вечер!

28.11.2019 08:52, Evgeny Sinelnikov пишет:
> Доброе утро!
>
> чт, 28 нояб. 2019 г. в 05:14, Mikhail Novosyolov <mikhailnov на 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 - снова...
Разумно... Спасибо за ответ. Это не будет нормально работать при логине, 
когда система не запущена, но такое может быть разве что в chroot, так 
что почти не актуально.
> В штуках сейчас этих попугаев, как раз, тридцать восемь у меня:
> $ 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
Круто! Но разобраться в этом очень сложно, т.к. не сохранена 
оригинальная история git, невозможно понять, какие изменения были сделаны.
> Это модуль, позволяющий запускать из-под пользователя инструмент по
> обновлению групповых политик с правами администратора. Служба oddjob
> используется в данном случае для двух задач:
> - для запуска процесса обновления групповых политик во время логина;
> - для ручного запуска обновления групповых политик пользователем.
>
> Сам gpupdate разрабатывается отдельно и готовится вместе в
> oddjob-gpupdate уехать в сизиф.
>
> Собственно, ради гибкого управления настройками этих модулей нам и
> понадобился новый, гибкий control-метод system-policy, тесно увязанный
> с уже существующим control-методом system-auth.
А authconfig не рассматривали? Я почти не смотрел control, в нем 
какие-то скрипты для редактирования конфигов pam, не придете ли вы с ним 
к authconfig - куче слабо предсказуемых if..else?


Подробная информация о списке рассылки Devel