Bug 47713 - Прописать в самом начале файла /etc/pam.d/system-auth-common строку
Summary: Прописать в самом начале файла /etc/pam.d/system-auth-common строку
Status: REOPENED
Alias: None
Product: Sisyphus
Classification: Development
Component: pam-config (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-25 13:57 MSK by Andrey Cherepanov
Modified: 2023-12-13 10:33 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Cherepanov 2023-09-25 13:57:59 MSK
Когда планируется автоматизация добавление строки в соответствующий файл? Например, через control?
Comment 1 Evgeny Sinelnikov 2023-09-26 04:29:30 MSK
Эта проблема, с одной стороны, и не проблема вовсе. Это дефолт, который можно поменять после установки или при конфигурирование.

С другой стороны это не проблема пакета с модулем, это проблема пакета pam-config:
https://git.altlinux.org/tasks/324184/

И, наконец, это можно рассмотреть, как проблему пакета с модулем, который содержит при установке соответствующий control.

С этой стороны я готов заняться. Логика не сложная, но я с этой стороны на задачу не смотрел, хотя так даже правильней, наверное.
Comment 2 Evgeny Sinelnikov 2023-12-13 04:52:40 MSK
В linux-pam отправлен патч с модулем pam_canonicalize_user, реализующим аналогичный функционал, что и pam_propperpwnam:
https://github.com/linux-pam/linux-pam/commit/2cae0f5c6757a66602546d76d51a4ba9bb28b2b2

Теперь о реализации. Думаю, что для p10 появление нового модуля ожидать пока не стоит, а проблема актуальна больше для доменных пользователей.

Чтобы эта штука могла включаться как с групповыми политиками, так и без них, думаю что необходимо поместить этот модуль в начало system-auth-common:

Этот стек включается сразу после основной аутентификации в system-auth:

$ cat /etc/pam.d/common-login
#%PAM-1.0
auth            substack        system-auth
auth            substack        system-policy
auth            required        pam_nologin.so
account         substack        system-auth
account         substack        system-policy
account         required        pam_nologin.so
password        include         system-auth
password        include         system-policy
session         substack        system-auth
session         required        pam_loginuid.so
-session        optional        pam_systemd.so
session         substack        system-policy

$ cat /etc/pam.d/system-auth-local
#%PAM-1.0
auth            include         system-auth-local-only
auth            include         system-auth-common
account         include         system-auth-local-only
account         include         system-auth-common
password        include         system-auth-local-only
password        include         system-auth-common
session         include         system-auth-local-only
session         include         system-auth-common

$ head /etc/pam.d/system-auth-sss
#%PAM-1.0

auth            [success=4 perm_denied=ignore default=die]      pam_localuser.so
auth            [success=1 default=bad] pam_succeed_if.so uid >= 500 quiet
auth            [default=1]     pam_permit.so
auth            substack        system-auth-sss-only
auth            [default=1]     pam_permit.so
auth            substack        system-auth-local-only
auth            substack        system-auth-common
[...]

$ cat /etc/pam.d/system-auth-common 
#%PAM-1.0
#account                required        pam_access.so
session         required        pam_mktemp.so
session         required        pam_limits.so

С другой стороны system-auth у нас позволяет сделать собственную реализацию и этим пользуются. Поэтому нужно предусмотреть отсутствие этого файла. Хотя это вопрос.
Comment 3 Evgeny Sinelnikov 2023-12-13 09:54:42 MSK
$ sudo rpm -Uhv /home/sin/RPM/RPMS/x86_64/pam0_propperpwnam-0.0.1-alt2.x86_64.rpm

$ sudo control pam_propperpwnam
unknown

$ cat /etc/pam.d/system-auth-common 
#%PAM-1.0
#account                required        pam_access.so
session         required        pam_mktemp.so
session         required        pam_limits.so

$ sudo control pam_propperpwnam enabled

$ sudo control pam_propperpwnam
enabled

$ cat /etc/pam.d/system-auth-common 
#%PAM-1.0
auth            optional        pam_propperpwnam.so
#account                required        pam_access.so
session         required        pam_mktemp.so
session         required        pam_limits.so

$ sudo control pam_propperpwnam disabled

$ sudo control pam_propperpwnam
disabled

$ cat /etc/pam.d/system-auth-common 
#%PAM-1.0
#auth           optional        pam_propperpwnam.so
#account                required        pam_access.so
session         required        pam_mktemp.so
session         required        pam_limits.so
Comment 4 Repository Robot 2023-12-13 10:10:04 MSK
pam_propperpwnam-0.0.1-alt2 -> sisyphus:

 Wed Dec 13 2023 Evgeny Sinelnikov <sin@altlinux> 0.0.1-alt2
 - Add control pam_propperpwnam for support module in system authentication (ALT#47713).
Comment 5 Evgeny Sinelnikov 2023-12-13 10:28:28 MSK
$ rpm -qf /etc/pam.d/system-auth-common
pam-config-1.9.0-alt4.noarch

Предполагаю, что ldv@ включит эту опцию сразу для pam_canonicalize_user. Однако control, по образу и подобию стоит упаковать.

В текущей реализации я активно использую наработки из пакета local-policy. Может быть их стоит влить в пакет control? Но много сложных в сопровождении деталей.
Comment 6 Evgeny Sinelnikov 2023-12-13 10:33:48 MSK
Проблема, которая решена в рамках pam_propperpwnam-0.0.1-alt2 относится к другой задаче:
https://bugzilla.altlinux.org/47579