From: Evgeny Sinelnikov <sin@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Cc: "Андрей Черепанов" <cas@basealt.ru>, "Aleksey Novodvorsky" <aen@basealt.ru>, "Igor Chudov" <nir@basealt.ru>, "Saratov BaseALT department" <saratov@lists.altlinux.org>, "Dmitry V. Levin" <ldv@altlinux.org> Subject: [devel] Не локальный вариант настроек PAM (system-auth и system-policy) Date: Thu, 21 Nov 2019 02:45:21 +0400 Message-ID: <CAK42-GqieHA6dGkX2=koagSUTF+z=A2noiMkj5_h8kobxrAR+w@mail.gmail.com> (raw) Здравствуйте, Хочу напомнить об актуальной до сих пор теме не локальных вариантов настроек PAM. С момента последнего обсуждения появились дополнительные вопросы, задачи и проблемы. А, между тем, с тех пор ничего не изменилось: https://lists.altlinux.org/pipermail/devel/2017-April/202654.html Отмечу, что условие uid >= 500 для любых глобальных пользователей. И настройку этой политики с помощью control я пока оставил - это отдельная не столь актуальная проблема (осталась текущая схема). Текущие изменения, которые я хочу предложить протестировать и внедрить, включают в себя следующие проблемы и решения: - "путаница при наличии совпадающих логинов". По умолчанию вводится строгий контроль на уровне стека PAM-модулей с помощью модуля pam_localuser для методов krb5, krb5_ccreds и winbind (для sss это уже внедрено); - Для сохранения возможностей логики с использованием "путаницы", как фичи (а такие варианты использования существуют) вводится метод krb5_local; - Для управления политиками настройки сессии вводится новый control - system-policy. Тестовая сборка готова и сейчас находится на стадии отладки (основные тесты успешно завершены, требуются добровольцы для участия в расширенной проверке): #240988 EPERM #7 [test-only] sisyphus pam-config.git=1.8.0-alt1 PS: На текущем этапе всё зависит от мейнтенера pam-config: $ ssh girar acl sisyphus pam-config show pam-config ldv PPS: Я не стал трогать три метода pkcs11 (выглядит прилично для своих задач), ldap и multi (pam-модули на базе ldap не понимаю как отлаживать - предпочитаю не трогать, как наследие). ________________________________________ О последнем подробнее: sin@xpi pam-config $ ls -1 /etc/pam.d/system-* /etc/pam.d/system-auth -> system-auth-krb5_local /etc/pam.d/system-auth-krb5 /etc/pam.d/system-auth-krb5_ccreds /etc/pam.d/system-auth-krb5_local /etc/pam.d/system-auth-ldap /etc/pam.d/system-auth-local /etc/pam.d/system-auth-multi /etc/pam.d/system-auth-pkcs11 /etc/pam.d/system-auth-sss /etc/pam.d/system-auth-use_first_pass -> system-auth-use_first_pass-krb5_local /etc/pam.d/system-auth-use_first_pass-krb5 /etc/pam.d/system-auth-use_first_pass-krb5_ccreds /etc/pam.d/system-auth-use_first_pass-krb5_local /etc/pam.d/system-auth-use_first_pass-ldap /etc/pam.d/system-auth-use_first_pass-local /etc/pam.d/system-auth-use_first_pass-multi /etc/pam.d/system-auth-use_first_pass-pkcs11 /etc/pam.d/system-auth-use_first_pass-sss /etc/pam.d/system-auth-use_first_pass-winbind /etc/pam.d/system-auth-winbind /etc/pam.d/system-policy -> system-policy-global /etc/pam.d/system-policy-global /etc/pam.d/system-policy-local Настройка 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 Ещё одна особенность - при переключении system-auth с local на любую другую - system-policy автоматически переключается на global и обратно: ~ # control system-auth local ~ # control system-policy local ~ # control system-auth sss ~ # control system-policy global Это делает поведение по умолчанию аналогичным тому, которое было раньше. При этом, если system-policy задано, то system-auth возвращает system-policy в исходное только при переключении на local, но не наоборот: ~ # control system-auth sss ~ # control system-policy global ~ # control system-auth local ~ # control system-policy local ~ # control system-policy test ~ # control system-policy test ~ # control system-auth krb5 ~ # control system-policy test ~ # control system-auth sss ~ # control system-policy test ~ # control system-auth local ~ # control system-policy local Для конфигураций, где вместо pam_mkhomedir.so нужно использовать pam_oddjob_mkhomedir (а это SELinux конфигурации, в первую очередь), а также для применения так называемых групповых политик, модули system-policy планируется устанавливать дополнительно (аналогично тому, как это делается для system-auth): ~ # rpm -qf /etc/pam.d/system-auth-local pam-config-1.8.0-alt1.noarch ~ # rpm -qf /etc/pam.d/system-auth-sss sssd-client-2.2.2-alt2.x86_64 -- Sin (Sinelnikov Evgeny)
next reply other threads:[~2019-11-20 22:45 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-20 22:45 Evgeny Sinelnikov [this message] 2019-11-20 22:49 ` [devel] Offtopic: Re: "Нелокальный" Evgeny Sinelnikov 2019-11-27 19:16 ` [devel] Нелокальный вариант настроек PAM (system-auth и system-policy) Evgeny Sinelnikov 2019-11-28 1:14 ` Mikhail Novosyolov 2019-11-28 5:52 ` Evgeny Sinelnikov 2019-11-28 13:46 ` Alexey V. Vissarionov 2019-11-28 13:56 ` Mikhail Novosyolov 2019-11-28 19:47 ` Evgeny Sinelnikov 2019-11-28 20:51 ` Mikhail Novosyolov 2019-11-28 21:38 ` Evgeny Sinelnikov 2019-12-03 13:58 ` Mikhail Novosyolov 2019-12-05 0:49 ` Evgeny Sinelnikov 2019-12-05 4:28 ` Mikhail Novosyolov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAK42-GqieHA6dGkX2=koagSUTF+z=A2noiMkj5_h8kobxrAR+w@mail.gmail.com' \ --to=sin@altlinux.org \ --cc=aen@basealt.ru \ --cc=cas@basealt.ru \ --cc=devel@lists.altlinux.org \ --cc=ldv@altlinux.org \ --cc=nir@basealt.ru \ --cc=saratov@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git