Bug 56966 - Закрытие центра управления системой при выборе пользователя
Summary: Закрытие центра управления системой при выборе пользователя
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: shadow-utils (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Mikhail Efremov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-11-23 10:15 MSK by Алексей
Modified: 2025-12-02 20:30 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Алексей 2025-11-23 10:15:42 MSK
При выборе пользователя _kdesu6 в настройках пользователей центра управления системой, сам центр управления системой закрывается без вывода предупреждений и сообщений.Выбор других пользователей к такому поведению не приводит.
Comment 1 Sergey V Turchin 2025-11-26 11:36:22 MSK
Его там быть не должно.
Comment 2 Антон Мидюков 2025-11-26 12:20:44 MSK
Алексей, выполните:

id _kdesu6

и

grep '^UID_MIN' /etc/login.defs 2>/dev/null|sed -r 's,UID_MIN[[:space:]]+,,'
Comment 3 Alexander Makeenkov 2025-11-26 16:07:55 MSK
У вас система на чистом р11 или обновлена с р10?
Comment 4 Алексей 2025-11-26 19:31:27 MSK
(Ответ для Антон Мидюков на комментарий #2)
> Алексей, выполните:
> 
> id _kdesu6
> 
> и
> 
> grep '^UID_MIN' /etc/login.defs 2>/dev/null|sed -r 's,UID_MIN[[:space:]]+,,'

[alex@axeon ~]$ id _kdesu6
uid=999(_kdesu6) gid=998(_kdesu6) группы=998(_kdesu6)

[root@axeon ~]# grep '^UID_MIN' /etc/login.defs 2>/dev/null|sed -r 's,UID_MIN[[:space:]]+,,'
500
Comment 5 Алексей 2025-11-26 19:31:54 MSK
(Ответ для Alexander Makeenkov на комментарий #3)
> У вас система на чистом р11 или обновлена с р10?

Обновлена с P10.4
Comment 6 Антон Мидюков 2025-11-26 22:07:30 MSK
Почему проигнорировался(Ответ для Алексей на комментарий #4)
> (Ответ для Антон Мидюков на комментарий #2)
> > Алексей, выполните:
> > 
> > id _kdesu6
> > 
> > и
> > 
> > grep '^UID_MIN' /etc/login.defs 2>/dev/null|sed -r 's,UID_MIN[[:space:]]+,,'
> 
> [alex@axeon ~]$ id _kdesu6
> uid=999(_kdesu6) gid=998(_kdesu6) группы=998(_kdesu6)
> 
> [root@axeon ~]# grep '^UID_MIN' /etc/login.defs 2>/dev/null|sed -r
> 's,UID_MIN[[:space:]]+,,'
> 500

alterator-user определённо не виноват.

Как так passwd создал такого системного пользователя? Создаётся пользователь так:

%pre -n libkf6su
/usr/sbin/useradd -M -r -d %kdesu_user_dir -s /sbin/nologin -c 'KDE SU wrapper' %kdesu_user 2>/dev/null || :
Comment 7 Alexander Makeenkov 2025-11-27 12:03:26 MSK
# useradd -M -r -d /var/lib/_kdesu6 -s /sbin/nologin -c 'KDE SU wrapper' _kdesu6 && id _kdesu6
uid=981(_kdesu6) gid=964(_kdesu6) группы=964(_kdesu6)

Пользователь создаётся с UID меньшим 1000, а поскольку система была обновлена с р10, то минимальный UID остался 500, а не 1000.

# man useradd
       -r, --system
           Create a system account.

           System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).

           Note that useradd will not create a home directory for such a user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home directory for a system account to be created.

           Note that this option will not update /etc/subuid and /etc/subgid. You have to specify the -F options if you want to update the files for a system account to be created.


Параметры SYS_UID_{MIN,MAX} отсутствуют в конфиге:

# grep -c SYS_UID /etc/login.defs
0

Получается, что проблема в shadow-utils, нужно, чтобы /etc/login.defs содержал эти параметры.

# rpm -qf /etc/login.defs 
shadow-utils-4.18.0-alt2.x86_64

Поправьте, если не прав.
Comment 8 Alexander Makeenkov 2025-11-27 12:23:02 MSK
(Ответ для Антон Мидюков на комментарий #6)
> alterator-user определённо не виноват.

Виноват только в том, что падает. По хорошему, должен просто выдавать ошибку, но не падать хотя бы. Как раз эту проблему можно исправить в рамках https://bugzilla.altlinux.org/51723
Comment 9 Алексей 2025-11-27 19:42:09 MSK
(Ответ для Alexander Makeenkov на комментарий #7)
> # useradd -M -r -d /var/lib/_kdesu6 -s /sbin/nologin -c 'KDE SU wrapper'
> _kdesu6 && id _kdesu6
> uid=981(_kdesu6) gid=964(_kdesu6) группы=964(_kdesu6)
> 
> Пользователь создаётся с UID меньшим 1000, а поскольку система была
> обновлена с р10, то минимальный UID остался 500, а не 1000.
> 
> # man useradd
>        -r, --system
>            Create a system account.
> 
>            System users will be created with no aging information in
> /etc/shadow, and their numeric identifiers are chosen in the
> SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of
> UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).
> 
>            Note that useradd will not create a home directory for such a
> user, regardless of the default setting in /etc/login.defs (CREATE_HOME).
> You have to specify the -m options if you want a home directory for a system
> account to be created.
> 
>            Note that this option will not update /etc/subuid and
> /etc/subgid. You have to specify the -F options if you want to update the
> files for a system account to be created.
> 
> 
> Параметры SYS_UID_{MIN,MAX} отсутствуют в конфиге:
> 
> # grep -c SYS_UID /etc/login.defs
> 0
> 
> Получается, что проблема в shadow-utils, нужно, чтобы /etc/login.defs
> содержал эти параметры.
> 
> # rpm -qf /etc/login.defs 
> shadow-utils-4.18.0-alt2.x86_64
> 
> Поправьте, если не прав.

Мои параметры

#
UID_MIN                 500
UID_MAX                 60000

#
GID_MIN                 500
GID_MAX                 60000
_____________________________________________
grep -c SYS_UID /etc/login.defs
0
_____________________________________________
rpm -qf /etc/login.defs
shadow-utils-4.17.4-alt2.x86_64
Comment 10 Mikhail Efremov 2025-11-28 15:21:47 MSK
(Ответ для Alexander Makeenkov на комментарий #7)
> Параметры SYS_UID_{MIN,MAX} отсутствуют в конфиге:
> 
> # grep -c SYS_UID /etc/login.defs
> 0
> 
> Получается, что проблема в shadow-utils, нужно, чтобы /etc/login.defs
> содержал эти параметры.

Не нужно. При отсутствии SYS_UID_MAX он будет равен (UID_MIN - 1). Явно SYS_* имеет смысл задать толко если диапазон по умолчанию не устраивает.

> UID_MIN                 500
> UID_MAX                 60000
> 
> #
> GID_MIN                 500
> GID_MAX                 60000

И при этом у вас useradd -r создает пользователя с UID > 500?
Comment 11 Алексей 2025-11-28 19:29:24 MSK
(Ответ для Mikhail Efremov на комментарий #10)
> (Ответ для Alexander Makeenkov на комментарий #7)
> > Параметры SYS_UID_{MIN,MAX} отсутствуют в конфиге:
> > 
> > # grep -c SYS_UID /etc/login.defs
> > 0
> > 
> > Получается, что проблема в shadow-utils, нужно, чтобы /etc/login.defs
> > содержал эти параметры.
> 
> Не нужно. При отсутствии SYS_UID_MAX он будет равен (UID_MIN - 1). Явно
> SYS_* имеет смысл задать толко если диапазон по умолчанию не устраивает.
> 
> > UID_MIN                 500
> > UID_MAX                 60000
> > 
> > #
> > GID_MIN                 500
> > GID_MAX                 60000
> 
> И при этом у вас useradd -r создает пользователя с UID > 500?

Если я правильно понял синтаксис.
[root@axeon ~]# useradd -r testuser1
[root@axeon ~]# id testuser1
uid=466(testuser1) gid=431(testuser1) группы=431(testuser1)
Comment 12 Mikhail Efremov 2025-11-28 19:42:03 MSK
(Ответ для Алексей на комментарий #11)
> Если я правильно понял синтаксис.
> [root@axeon ~]# useradd -r testuser1
> [root@axeon ~]# id testuser1
> uid=466(testuser1) gid=431(testuser1) группы=431(testuser1)

Ну так все работает правильно. В каком тогда случае появляется uid/gid > 500?
Comment 13 Алексей 2025-11-28 19:45:01 MSK
(Ответ для Mikhail Efremov на комментарий #12)
> (Ответ для Алексей на комментарий #11)
> > Если я правильно понял синтаксис.
> > [root@axeon ~]# useradd -r testuser1
> > [root@axeon ~]# id testuser1
> > uid=466(testuser1) gid=431(testuser1) группы=431(testuser1)
> 
> Ну так все работает правильно. В каком тогда случае появляется uid/gid > 500?

При создании обычного пользователя.

[root@axeon ~]# useradd testuser2
[root@axeon ~]# id testuser2
uid=1000(testuser2) gid=1000(testuser2) группы=1000(testuser2)
Comment 14 Mikhail Efremov 2025-12-02 19:56:57 MSK
(Ответ для Алексей на комментарий #13)
> (Ответ для Mikhail Efremov на комментарий #12)
> > (Ответ для Алексей на комментарий #11)
> > > Если я правильно понял синтаксис.
> > > [root@axeon ~]# useradd -r testuser1
> > > [root@axeon ~]# id testuser1
> > > uid=466(testuser1) gid=431(testuser1) группы=431(testuser1)
> > 
> > Ну так все работает правильно. В каком тогда случае появляется uid/gid > 500?
> 
> При создании обычного пользователя.
> 
> [root@axeon ~]# useradd testuser2
> [root@axeon ~]# id testuser2
> uid=1000(testuser2) gid=1000(testuser2) группы=1000(testuser2)

Покажите вывод от root
cut -d: -f 3 /etc/passwd | sort -n | tail -3
Comment 15 Алексей 2025-12-02 20:01:31 MSK
(Ответ для Mikhail Efremov на комментарий #14)
> (Ответ для Алексей на комментарий #13)
> > (Ответ для Mikhail Efremov на комментарий #12)
> > > (Ответ для Алексей на комментарий #11)
> > > > Если я правильно понял синтаксис.
> > > > [root@axeon ~]# useradd -r testuser1
> > > > [root@axeon ~]# id testuser1
> > > > uid=466(testuser1) gid=431(testuser1) группы=431(testuser1)
> > > 
> > > Ну так все работает правильно. В каком тогда случае появляется uid/gid > 500?
> > 
> > При создании обычного пользователя.
> > 
> > [root@axeon ~]# useradd testuser2
> > [root@axeon ~]# id testuser2
> > uid=1000(testuser2) gid=1000(testuser2) группы=1000(testuser2)
> 
> Покажите вывод от root
> cut -d: -f 3 /etc/passwd | sort -n | tail -3

cut -d: -f 3 /etc/passwd | sort -n | tail -3
999
1000
65534
Comment 16 Mikhail Efremov 2025-12-02 20:19:35 MSK
(Ответ для Алексей на комментарий #15)
> cut -d: -f 3 /etc/passwd | sort -n | tail -3
> 999
> 1000
> 65534

Ну так все правильно, следующий свободный uid после 999 - это 1000.
Comment 17 Mikhail Efremov 2025-12-02 20:23:19 MSK
Предположу, что uid 999 - это fwupd-refresh, созданный в пакете fwupd с помощью systemd-sysusers, который, очевидно, наплевал на то, что написано в /etc/login.defs.
Comment 18 Алексей 2025-12-02 20:30:44 MSK
(Ответ для Mikhail Efremov на комментарий #17)
> Предположу, что uid 999 - это fwupd-refresh, созданный в пакете fwupd с
> помощью systemd-sysusers, который, очевидно, наплевал на то, что написано в
> /etc/login.defs.

Таки нет. Это как раз проблемный юзер:
_kdesu6:x:999:998:KDE SU wrapper:/var/lib/_kdesu6:/sbin/nologin.

а
fwupd-refresh:x:437:437:Firmware update daemon:/var/lib/fwupd:/sbin/nologin