ALT Linux Team development discussions
 help / color / mirror / Atom feed
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)

             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