Bug 48621 - Не корректная работа политики wheel
Summary: Не корректная работа политики wheel
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: SimplePAMApps (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-11-29 12:33 MSK by Владимир
Modified: 2023-12-19 18:58 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 Владимир 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.