Bug 55339 - Пользователь нe добавляется в группы
Summary: Пользователь нe добавляется в группы
Status: REOPENED
Alias: None
Product: Sisyphus
Classification: Development
Component: alterator-users (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-07-24 14:56 MSK by Владислав Елисеев
Modified: 2025-07-24 16:51 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Владислав Елисеев 2025-07-24 14:56:06 MSK
Пользователь не добавляется в группы: cdwriter cdrom audio video proc radio camera floppy xgrp scanner uucp users. При выключенном libnss-role.

Платформы, обновленные до Sisyphus:
ALT Workstation K 11.0-x86_64
ALT Workstation 11.0-x86_64

Шаги:
1. Включить libnss-role
    # control libnss-role enabled; control libnss-role status
2. # acc
3. Создать нового пользователя
4. Проверить, что пользователь добавлен только в группу users:
    # cat /etc/group | grep <username>
    Пользователь добавлен только в группу users
    Вывод:
    users:x:100:test,<username>
    <username>:x:1001:

    При этом:
    # groups <username>
    <username> : <username> users vmusers usershares cdwriter cdrom audio video proc radio camera floppy xgrp scanner uucp vboxusers fuse vboxadd vboxsf

5. Выключить libnss-role
    # control libnss-role disabled; control libnss-role status
6. # acc
7. Создать еще одного нового пользователя
8. Проверить, что пользователь добавлен в группы: cdwriter cdrom audio video proc radio camera floppy xgrp scanner uucp users
    # cat /etc/group | grep <new_username>
    Вывод:
    users:x:100:test,<username>,<new_username>
    <new_username>:x:1002:

    Вывод команды: # groups <new_username>
    <new_username>: <new_username> users



Ожидаемый результат: Новый пользователь добавлен в группы: cdwriter cdrom audio video proc radio camera floppy xgrp scanner uucp users
Реальный результат: Новый пользователь добавляется только в группу users.

Ожидается, что на шаге 8 вывод команды # cat /etc/group | grep <new_username> будет:
wheel:x:10:root,test,<username>,<new_username>
uucp:x:14:<new_username>
proc:x:19:root,<new_username>
cdrom:x:22:<new_username>
floppy:x:71:<new_username>
cdwriter:x:80:<new_username>
audio:x:81:<new_username>
radio:x:83:<new_username>
scanner:x:999:<new_username>
xgrp:x:998:<new_username>
video:x:980:<new_username>
camera:x:972:<new_username>
vboxusers:x:967:<new_username>
<new_username>:x:1002:
Comment 1 Владислав Елисеев 2025-07-24 14:59:50 MSK
На платформах:
ALT Education 11.0-x86_64-kde
ALT Education 11.0-x86_64-xfce

Вывод из шага 8 соответствует ожидаемому
Comment 2 Evgeny Sinelnikov 2025-07-24 15:21:00 MSK
Странные у вас ожидания.
Группа users - это роль.
Другие группы - это привилегии.

Очевидно, что при выключенном libnss-role привилегии придется наназачать вручную. В этом весь смысл - уйти от прибитого где-то как-то гвоздями непонятно как контролируемого списка групп, в которые пользователь добавляется только во время создания.

Если libnss-role не используется, то это уже ручная работа по управлению группами предполагается.

В этом плане также не стоит путать наличие пользователя в /etc/group для конкретных групп и назначение пользователю групп во время логина. По сути, если во время логина группа пользователю назначается, то он фактически в нее добавлен, хотя и не явно.

А так вы хотите странного - libnss-role выключить, а группы, чтобы назначались.

А какие это группы?
А вновь установленные приложения со своими группами кае должны в этот список попадать?

А как быть с разницей в этом списке для ранее созданных пользователей, которые в этот список не попали?
Comment 3 Ivan A. Melnikov 2025-07-24 16:17:19 MSK
> Странные у вас ожидания.

Почему странные?

Если `control libnss-role` в системе disabled, alterator-users должен создавать пользователей с какими-то группами, у него есть  список групп по умолчанию. Это неудобно, нерасширяемо и несовременно, но тот, кто выставил control libnss-role в  disabled наверное что-то хотел этим сказать.

Другой вопрос, что компонент выбран неправильно -- libnss-role ведёт себя как положено, это alterator-users недорабатывает.

Кстати, а в системе, где это воспроизводится, есть /usr/share/install3/default-groups или /usr/share/install3/default-groups.d? Если да, то что в них?
Comment 4 Владислав Елисеев 2025-07-24 16:25:06 MSK
> /usr/share/install3/default-groups или /usr/share/install3/default-groups.d?

install3 нет, есть install2, ее содержимое:

# ls -al /usr/share/install2/
итого 0
drwxr-xr-x 1 root root   76 мая  7 16:42 .
drwxr-xr-x 1 root root 6740 июл 23 15:01 ..
drwxr-xr-x 1 root root    0 мая  7 16:42 initinstall.d
drwxr-xr-x 1 root root    0 мая 12 10:04 postinstall.d
drwxr-xr-x 1 root root   58 мая 12 10:14 preinstall.d
Comment 5 Владислав Елисеев 2025-07-24 16:26:26 MSK
А вот там где не воспроизводится есть install3:
# ls -al /usr/share/install3/
итого 20
drwxr-xr-x   2 root root  4096 июл  2 13:03 .
drwxr-xr-x 345 root root 12288 июл 23 14:38 ..
-rw-r--r--   1 root root    86 июл  2 13:03 default-groups
Comment 6 Ivan A. Melnikov 2025-07-24 16:30:10 MSK
(In reply to Владислав Елисеев from comment #5)
> А вот там где не воспроизводится есть install3:

И каково содержимое default-groups?
Comment 7 Владислав Елисеев 2025-07-24 16:30:53 MSK
> И каково содержимое default-groups?

# cat /usr/share/install3/default-groups 
wheel cdwriter cdrom audio proc radio camera floppy xgrp scanner uucp video vboxusers
Comment 8 Ivan A. Melnikov 2025-07-24 16:44:00 MSK
Есть подозрение, что баг таки присутствует в alterator-users, и дело там в том, что глобальные переменные -- зло.

Попробуйте следующие шаги:

1. включите libnss-role
2. создайте пользователя, выйдите из acc
3. выключите libnss-role
4. создайте ещё одного пользователя, выйдите из acc
5. перезапустите alteratord (sytemctl alteratord restart)
6. создайте ещё одного пользователя, выйдите из acc
7. сравните, в какие группы попали пользователи, созданные на шагах 2, 4 и 6.
Comment 9 Владислав Елисеев 2025-07-24 16:51:03 MSK
> 2. создайте пользователя, выйдите из acc

# cat /etc/group | grep test2
users:x:100:test,test2,test3,test4
test2:x:1001:

> 4. создайте ещё одного пользователя, выйдите из acc

# cat /etc/group | grep test3
users:x:100:test,test2,test3,test4
test3:x:1002:

> 6. создайте ещё одного пользователя, выйдите из acc

# cat /etc/group | grep test4
uucp:x:14:test4
proc:x:19:root,test4
cdrom:x:22:test4
floppy:x:71:test4
cdwriter:x:80:test4
audio:x:81:brltty,test4
radio:x:83:test4
users:x:100:test,test2,test3,test4
scanner:x:997:test4
xgrp:x:996:test4
video:x:972:test4
camera:x:940:test4
test4:x:1003: