Bug 48621

Summary: Не корректная работа политики wheel
Product: Sisyphus Reporter: Владимир <v.karpunin>
Component: SimplePAMAppsAssignee: Dmitry V. Levin <ldv>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: alimektor, ldv, placeholder
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Владимир 2023-11-29 12:33:10 MSK
Альт Рабочая станция 10.1
Обновлена до актуального состояния, без стороннего ПО.
Версия control-0.8.0-alt1.noarch

Проверяем доступные политики su и их описание:
# control su help 
Вывод:
public: Any user can execute /bin/su
wheel: Any user can execute /bin/su, but only "wheel" group members can switch to superuser
wheelonly: Only "wheel" group members can execute /bin/su
restricted: Only root can execute /bin/su

Поочередно ставим политики и проверяем:
# control su <политика>

public: Позволяет всем пользователям выполнить команду сменить пользователя, в том числе в root

[root@host-15 ~]# control su
public

Пользователь не состоит в группе wheel
[user8@host-15 ~]$ id
uid=502(user8) gid=502(user8) группы=502(user8)

Ожидаю смену пользователя:
[user8@host-15 ~]$ su - user7
Password: 
[user7@host-15 ~]$ 

Ожидаю смену пользователя:
[user8@host-15 ~]$ su -
Password: 
[root@host-15 ~]# 

Политика работает согласно описания (выполнить su(Switch User) = сменить пользователя)

wheel: Позволяет выполнить команду сменить пользователя если он находится в группе wheel (аналогично политике wheelonly)
Ожидается поведение как в описании к политике: Любой пользователь может выполнить команду su, но только пользователи, входящие в группу wheel, могут получить через неё права root
То есть ровно так же как действует public, с одним ограничением, права root могут получить только пользователи входящие в группу wheel.

[root@host-15 ~]# control su
wheel

Пользователь не состоит в группе wheel(не планируется переход в root)
[user8@host-15 ~]$ id
uid=502(user8) gid=502(user8) группы=502(user8)

Ожидаю смену пользователя:
[user8@host-15 ~]$ su - user7
Password: 
su: Permission denied

Не ожидаю смену пользователя:
[user8@host-15 ~]$ su -
Password: 
su: Permission denied

Политика не работает согласно описания (выполнить su(Switch User) не равно сменить пользователя)

wheelonly: Позволяет выполнить команду сменить пользователя если он находится в группе wheel

[root@host-15 ~]# control su
wheelonly

Пользователь не состоит в группе wheel:
[user8@host-15 ~]$ id
uid=502(user8) gid=502(user8) группы=502(user8)

Не ожидаю смену пользователя:
[user8@host-15 ~]$ su - user7
-bash: /bin/su: Отказано в доступе

Не ожидаю смену пользователя:
[user8@host-15 ~]$ su -
-bash: /bin/su: Отказано в доступе

Пользователь состоит в группе wheel:
[user@host-15 Рабочий стол]$ id
uid=500(user) gid=500(user) группы=500(user),10(wheel)

Ожидаю смену пользователя:
[user@host-15 Рабочий стол]$ su - user8
Password: 
[user8@host-15 ~]$ 

Ожидаю смену пользователя:
[user@host-15 Рабочий стол]$ su -
Password: 
[root@host-15 ~]#

Политика работает согласно описания (выполнить su(Switch User) = сменить пользователя)

restricted: Позволяет выполнить команду сменить пользователя только root пользователю
Политика работает согласно описания (выполнить su(Switch User) = сменить пользователя)

Если в описании "execute /bin/su" не ровно "switch user", то об этом стоит указать или убрать две одинаково действующие по факту политики или сделать так, что бы политика работала согласно описания.
Comment 1 Evgeny Shesteperov 2023-12-19 18:58:35 MSK
Версия:

-   su-0.60-alt36

Шаги воспроизведения:

    # control su wheel
    # useradd user && passwd user
    # useradd user2 && passwd user2
    # su - user
    $ su - user2

Ожидаемый результат: после введения пароля, вход под пользователем
user2.

Фактический результат:

    Password: 
    su: Permission denied

Воспроизводится в P10.