Bug 46847 - В shadow-utils сломаны операции над нелокальными пользователями
Summary: В shadow-utils сломаны операции над нелокальными пользователями
Status: CLOSED FIXED
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: 46625
  Show dependency tree
 
Reported: 2023-07-11 06:38 MSK by Evgeny Sinelnikov
Modified: 2023-08-09 17:38 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 Evgeny Sinelnikov 2023-07-11 06:38:18 MSK
Начиная с некоторой версии добавление в группы сломано для нелокальных пользователей. В результате, например, невозможно "добавить доменного пользователя в hasher". По сути, добавить доменного в локальные группы:

$ sudo usermod -aG "sin_a,sin_b,hashman" "sin"
[sudo] password for sin:
usermod: не удалось заблокировать /etc/tcb/sin/shadow; попробуйте ещё раз позже.

Раньше такое работало.
Comment 1 Arseny Maslennikov 2023-07-11 11:06:46 MSK
(In reply to Evgeny Sinelnikov from comment #0)
> Начиная с некоторой версии добавление в группы сломано для нелокальных
> пользователей. В результате, например, невозможно "добавить доменного
> пользователя в hasher". По сути, добавить доменного в локальные группы:
> 
> $ sudo usermod -aG "sin_a,sin_b,hashman" "sin"
> [sudo] password for sin:
> usermod: не удалось заблокировать /etc/tcb/sin/shadow; попробуйте ещё раз
> позже.
> 
> Раньше такое работало.

Вынужден уточнить: раньше работал hasher-useradd или раньше работал usermod?

https://git.altlinux.org/gears/h/..git?p=hasher-priv.git;a=commitdiff;h=2909fd748c24b46d24ee21c894d5b1964bfa1c99
До этого коммита (до версии 2.0.9 включительно) мы тут вызывали gpasswd. Работает ли эта программа?
Comment 2 Evgeny Sinelnikov 2023-07-11 11:32:51 MSK
Действительно, "раньше работал hasher-useradd", а теперь "через usermod" не работает. При этом gpasswd продолжает работать:

$ id
uid=758801104(sin) gid=758800513(domain users) группы=758800513(domain users),10(wheel), ...

$ sudo usermod -aG ftpadmin sin
[sudo] password for sin:
usermod: не удалось заблокировать /etc/tcb/sin/shadow; попробуйте ещё раз позже.

$ sudo gpasswd -a sin ftpadmin
Добавление пользователя sin в группу ftpadmin

$ id
uid=758801104(sin) gid=758800513(domain users) группы=758800513(domain users),10(wheel),14(uucp),19(proc),22(cdrom),51(ftpadmin), ...
Comment 3 Evgeny Sinelnikov 2023-07-11 12:41:18 MSK
Эта проблема для нелокальных пользователей проявляется в различных задачах и примерах настройки.

В частности для podman:
- https://www.altlinux.org/Podman

Вот такая команда также не работает:
# usermod --add-subuids 100000-165536 --add-subgids 100000-165536 имя_пользователя
Comment 4 Arseny Maslennikov 2023-07-25 13:23:02 MSK
Есть ли какой-то дешёвый способ воспроизвести окружение с нелокальными пользователями, не поднимая тяжёлую доменную инфраструктуру, чтобы поотлаживать там usermod и вызываемый ею стек?

Я, тем временем, откатываю (https://packages.altlinux.org/tasks/325527/) коммит в hasher-priv до исправления usermod, но это не повод закрывать сей багрепорт.
Comment 5 Dmitry V. Levin 2023-07-25 13:36:32 MSK
(In reply to Arseny Maslennikov from comment #4)
> Есть ли какой-то дешёвый способ воспроизвести окружение с нелокальными
> пользователями, не поднимая тяжёлую доменную инфраструктуру, чтобы
> поотлаживать там usermod и вызываемый ею стек?

Может быть, это воспроизводится и с локальными пользователями, которых нет в tcb.
Comment 6 Mikhail Efremov 2023-08-02 15:56:17 MSK
Проверьте usermod из task #326297, пожалуйста.
Comment 7 Evgeny Sinelnikov 2023-08-03 05:17:50 MSK
Проверил на сизифной машине - работает.

Проверял на командах:
# usermod -aG "nfsuser" "sin"
# usermod --add-subuids 100000-165536 --add-subgids 100000-165536 sin


Выяснил, что пакет shadow-submap может быть и не установлен, тогда получаем такой эффект:

$ sudo usermod --add-subuids 100000-165536 --add-subgids 100000-165536 sin
usermod: /etc/subuid не существует, нельзя указывать флаги -v или -V

Очень забавный эффект.
Comment 8 Anton Farygin 2023-08-03 07:51:47 MSK
Да, диагностику бы этому сообщению чуть получше.
Comment 9 Repository Robot 2023-08-09 17:38:55 MSK
shadow-1:4.13-alt8 -> sisyphus:

 Wed Aug 02 2023 Mikhail Efremov <sem@altlinux> 1:4.13-alt8
 - usermod: Allow group and submap operations for non-local user
   (closes: #46847).