[devel] Невозможно создать пользователя при сборке rootfs на хосте с Сизифом

Mikhail Efremov sem на altlinux.org
Чт Авг 8 21:38:37 MSK 2024


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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: п╕п╦я└я─п╬п╡п╟я▐ п©п╬п╢п©п╦я│я▄ OpenPGP
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20240808/9f51601b/attachment-0001.bin>


Подробная информация о списке рассылки Devel