On Thu, 8 Aug 2024 21:27:20 +0300 Антон Мидюков wrote: > 28.06.2024 13:18, Mikhail Efremov пишет: > > On Fri, 28 Jun 2024 10:19:37 +0300 Anton Farygin wrote: > >> On 27.06.2024 18:26, Mikhail Efremov wrote: > >>> On Mon, 24 Jun 2024 19:19:45 +0700 Антон Мидюков wrote: > >>>>> > >>>>>>> Проблема только на хостах с Сизифом. Если на хосте p10, то пользователь успешно создаётся при сборке. > >>>>>>> Также, если убрать из образа gnome-software и gnome-control-center, то пользователь создаётся успешно и при сборке на хосте с Сизифом. > >>> Виновником является fwupd, точнее не он сам, а запускаемый из-за > >>> /lib/sysusers.d/fwupd.conf systemd-sysusers. Вот после него useradd > >>> получает "Permission denied" при попытке открыть /etc/gshadow. > >>> Почему - я не понимаю, возможно это связано с тем, что все это под > >>> fakeroot. > >>> В качестве workaround можно сделать в скрипте 50-users > >>> chmod u+w /etc/gshadow{,-} > >>> Ну или вообще rm /etc/gshadow. > >> > >> Почему-то в hasher под пользователем: > >> > >> [builder@localhost .in]$ ls -al /etc/gshadow > >> -rw------- 1 rooter rooter 737 Jun 27 11:00 /etc/gshadow > >> [builder@localhost .in]$ id rooter > >> uid=501(rooter) gid=501(rooter) groups=501(rooter) > >> [builder@localhost .in]$ > > > > Я не знаю кто и как создает этот файл. А также /etc/shadow, который > > вообще скорее вреден, учитывая, что у нас TCB. > > > >> И под рутом: > >> > >> [root@localhost .in]# ls -al /etc/gshadow > >> -rw------- 1 root root 737 Jun 27 11:00 /etc/gshadow > >> > >> но в реальной системе права у /etc/gshadow у меня тоже меняются на > >> > >> $ ls -al /etc/gshadow > >> -r-------- 1 root root 1667 июн  8 07:57 /etc/gshadow > >> > >> Правда, при этом useradd работает > > > > В описанной выше ситуации тоже такие права, но если не было запуска > > systemd-sysusers, то useradd работает. А вот если файл предварительно > > systemd-sysusers потрогал, то useradd уже Permission denied получает. > > > > Я так понимаю, что проблема в том, что systemd-sysusers зачем-то запускается в hasher. > Зачем ему это делать? Он запускается файлтриггером из-за файлов в /lib/sysusers.d/ при установке пакетов (в данном случае fwupd). В принципе, в этом ничего криминального быть не должно (ну кроме того, что без поддержки tcb systemd-sysusers нормально создавать пользователей у нас не умеет). А вот почему после этого useradd permission denied получает я так и не понял. -- WBR, Mikhail Efremov