Bug 41488 - su: Permission denied после включения pam_mount
Summary: su: Permission denied после включения pam_mount
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: pam_mount (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Anton V. Boyarshinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-02 16:43 MSK by Alexander Makeenkov
Modified: 2021-12-02 19:14 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Makeenkov 2021-12-02 16:43:28 MSK
Стенд: система ALT Workstation x86_64, обновлённая до сизифа.
Введена в домен Samba (сервер и клиент настроены по инструкции https://www.altlinux.org/ActiveDirectory/DC).
По инструкции https://www.altlinux.org/Групповые_политики настроена групповая политика, которая позволяет выполнять команду su для всех пользователей. На текущий момент команда "su -" для доменного пользователя на клиенте выполняется успешно.

Далее по инструкции https://www.altlinux.org/SSSD/AD#Через_pam_mount настраиваю pam_mount.
После добавления строк "auth optional pam_mount.so" и "session optional pam_mount.so" в файл /etc/pam.d/system-auth-sss выполнение команды "su -" для доменного пользователя завершается ошибкой:
su: Permission denied

В логах journalctl только такие сообщения:
audit[3895]: USER_AUTH pid=3895 uid=1319601103 auid=1319601103 ses=5 msg='op=PAM:authentication grantors=? acct="root" exe="/bin/su" hostname=localhost addr=127.0.0.1 terminal=/dev/pts/1 res=failed'
kernel: audit: type=1100 audit(1638451664.232:152): pid=3895 uid=1319601103 auid=1319601103 ses=5 msg='op=PAM:authentication grantors=? acct="root" exe="/bin/su" hostname=localhost addr=127.0.0.1 terminal=/dev/pts/1 res=failed'

Если вернуть файл /etc/pam.d/system-auth-sss в исходное состояние (удалить строки с pam_mount.so), то команда "su -" снова выполняется успешно.

Добавление доменного пользователя в группу wheel не помогает.
Comment 1 Alexander Makeenkov 2021-12-02 16:59:31 MSK
(Ответ для Alexander Makeenkov на комментарий #0)
> По инструкции https://www.altlinux.org/Групповые_политики настроена
> групповая политика, которая позволяет выполнять команду su для всех
> пользователей.

Это можно не делать, достаточно просто добавить доменного пользователя локально в группу wheel, чтобы разрешить выполнять команду su.
Comment 2 Anton Farygin 2021-12-02 17:00:26 MSK
так всё-таки - виноват ли pam_mount ?
Comment 3 Anton V. Boyarshinov 2021-12-02 17:27:09 MSK
а для недоменного пользователя su работает?
А переключение не в root, а в другого пользователя через su - от доменного пользователя...
"su: Permission denied" не похоже на сообщение о невозможности запустить su (тогда , насколько я понимаю, выводится сообщение с полным путём до su)

Что выдаёт id от доменного пользователя в обоих случаях и что выдаёт stat /bin/su ?
Comment 4 Alexander Makeenkov 2021-12-02 17:39:40 MSK
(Ответ для Anton V. Boyarshinov на комментарий #3)
> а для недоменного пользователя su работает?
Оказалось, что тоже не работает.

> А переключение не в root, а в другого пользователя через su - от доменного пользователя...
Тоже ошибка, и от доменного, и от обычного пользователя.

> Что выдаёт id от доменного пользователя в обоих случаях и что выдаёт stat /bin/su ?
С включенным pam_mount:
$ id
uid=1319601103(testuser) gid=1319600513(domain users) группы=1319600513(domain users),10(wheel),14(uucp),19(proc),22(cdrom),71(floppy),80(cdwriter),81(audio),83(radio),100(users),451(vboxsf),452(vboxusers),458(vboxadd),473(camera),477(fuse),481(video),498(xgrp),499(scanner)

$ stat /bin/su
  Файл: /bin/su
  Размер: 31072     	Блоков: 64         Блок В/В: 4096   обычный файл
Device: 8,1	Inode: 314092      Links: 1
Доступ: (4710/-rws--x---)  Uid: (    0/    root)   Gid: (   10/   wheel)
Доступ:        2021-12-02 16:56:06.797970501 +0300
Модифицирован: 2020-07-03 11:00:00.000000000 +0300
Изменён:       2021-08-11 16:41:37.892782849 +0300
Создан:        2021-08-11 16:41:37.866778013 +0300

С выключенным pam_mount:
$ id
uid=1319601103(testuser) gid=1319600513(domain users) группы=1319600513(domain users),10(wheel),14(uucp),19(proc),22(cdrom),71(floppy),80(cdwriter),81(audio),83(radio),100(users),451(vboxsf),452(vboxusers),458(vboxadd),473(camera),477(fuse),481(video),498(xgrp),499(scanner)

$ stat /bin/su 
  Файл: /bin/su
  Размер: 31072     	Блоков: 64         Блок В/В: 4096   обычный файл
Device: 8,1	Inode: 314092      Links: 1
Доступ: (4710/-rws--x---)  Uid: (    0/    root)   Gid: (   10/   wheel)
Доступ:        2021-12-02 16:56:06.797970501 +0300
Модифицирован: 2020-07-03 11:00:00.000000000 +0300
Изменён:       2021-08-11 16:41:37.892782849 +0300
Создан:        2021-08-11 16:41:37.866778013 +0300

Также обнаружил, что при включенном pam_mount, при входе обычного пользователя в систему пароль не спрашивается вообще. Вход в систему происходит после ввода логина.
Comment 5 Anton V. Boyarshinov 2021-12-02 17:44:02 MSK
Что-то в pam стеке неправильно настроено...
Содержимое /etc/pam.d/system-auth-sss в студию...
Comment 6 Alexander Makeenkov 2021-12-02 17:47:04 MSK
(Ответ для Anton V. Boyarshinov на комментарий #5)
> Что-то в pam стеке неправильно настроено...
> Содержимое /etc/pam.d/system-auth-sss в студию...

# cat /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            optional        pam_mount.so
auth            substack        system-auth-sss-only
auth            [default=1]     pam_permit.so
auth            substack        system-auth-local-only
auth            substack        system-auth-common

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

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

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

Подключение pam_mount (согласно https://www.altlinux.org/SSSD/AD#Через_pam_mount) делаю перед "substack        system-auth-sss-only".
Comment 7 Anton V. Boyarshinov 2021-12-02 17:54:59 MSK
Я плохо разбираюсь в pam-овских конфигах, но мне кажется, что в тех секциях, где добавлен pam_mount надо поменять success=4 на success=5, так как нумерация строк меняется
Comment 8 Alexander Makeenkov 2021-12-02 18:01:12 MSK
(Ответ для Anton V. Boyarshinov на комментарий #7)
> Я плохо разбираюсь в pam-овских конфигах, но мне кажется, что в тех секциях,
> где добавлен pam_mount надо поменять success=4 на success=5, так как
> нумерация строк меняется

Это помогает, su выполняется успешно от любого пользователя, при входе обычного пользователя в систему пароль спрашивается.
Спасибо!
Comment 9 Alexander Makeenkov 2021-12-02 18:07:13 MSK
Добавил эту информацию в статью на wiki.
Comment 10 Anton V. Boyarshinov 2021-12-02 18:08:42 MSK
(Ответ для Alexander Makeenkov на комментарий #9)
> Добавил эту информацию в статью на wiki.

Спасибо!