Andrei Borzenkov changed bug 1155687
What Removed Added
Status NEW CONFIRMED
CC   arvidjaar@gmail.com, kukuk@suse.com, lslezak@suse.com

Comment # 3 on bug 1155687 from
(In reply to Neil Rickert from comment #2)
> Boot messages indicating missing users "sddm", "polkitd" and several others.

Bug is actually rather interesting. Following happens

1. Live system has most users in its /etc/passwd.
2. Scripts used by various system-user-* packages basically do

getent user || useradd user

3. During installation /run from Live system is bind-mounted on target /mnt/run
(where /mnt is root of system being installed). This makes nscd socket
available to scripts run by rpm which are chrooted to /mnt.

4. So during installation getent contacts nscd *in Live system*, and gets
positive answer. As result, user creation is skipped.

Possible fixes are

1. Do not use getent, parse /etc/passwd directly
2. Stop nscd during installation in Live
3. Do not bind mount /run onto /mnt/run, just explicitly mount tpmfs on
/mnt/run

I personally favor 3, I do not see why rpm would need access to "parent" /run
during installation. Also there are packages that use getent || useradd
directly.

To illustrate:

linux@10:~> cat /mnt/etc/passwd
root:x:0:0:root:/root:/bin/bash
linux@10:~> sudo rpm --root /mnt --dbpath /var/lib/rpm -U --percent --noglob
--force --nodeps -- system-user-lp-20170617-8.2.noarch.rpm
%% 0.000000
%% 0.000000
useradd -r -s /sbin/nologin -c "Printing daemon" -g lp -d /var/spool/lpd lp
%% 0.000000
%% 46.610172
warning: user lp does not exist - using root
warning: group lp does not exist - using root
%% 73.728813
%% 100.000000
linux@10:~> cat /mnt/etc/passwd
root:x:0:0:root:/root:/bin/bash
linux@10:~> sudo umount /mnt/run
linux@10:~> sudo rpm --root /mnt --dbpath /var/lib/rpm -U --percent --noglob
--force --nodeps -- system-user-lp-20170617-8.2.noarch.rpm
%% 0.000000
%% 0.000000
useradd -r -s /sbin/nologin -c "Printing daemon" -U -d /var/spool/lpd lp
%% 0.000000
%% 46.610172
%% 73.728813
%% 100.000000
linux@10:~> cat /mnt/etc/passwd
root:x:0:0:root:/root:/bin/bash
lp:x:499:499:Printing daemon:/var/spool/lpd:/sbin/nologin
linux@10:~> exit

Cc maintainers of yast2-installation and sysuser-tools.


You are receiving this mail because: