Bug#888126: [patch] Please enable systemd-sysusers unit
Michael Vogt
mvo at debian.org
Mon Jan 29 08:28:36 GMT 2018
On Sat, Jan 27, 2018 at 10:20:46PM +0100, Martin Pitt wrote:
[..]
> Michael Vogt [2018-01-23 16:15 +0100]:
> > sync:*:4:65534:sync:/bin:/bin/sync
> >
> > which cannot be represented because you cannot specify a different
> > primary gid in the sysusers file (or a login shell). So extra work is
> > required for this but (personally) I would love to this is.
>
> Since you freshly looked at this, was this the only problem? I figure the sync
> group is mostly unused anyway, and completely irrelevant for containers - but
> does this also affect static groups which are actually important? I. e. which
> static groups cannot be replicated with sysusers?
I think man is the important one, it has uid=6 gid=12. Also nobody and
nogroup share the same id but different names.
> IMHO if we enable this, we should also provide a reasonably correct static
> sysusers so that the program actually works as intended. It doesn't need to
> (and can't right now) be perfect, but at least not completely break your
> system.
Toally agree. To do that I pushed a PR to systemd
(https://github.com/systemd/systemd/pull/7973) to allow a new uid:gid
syntax. Fwiw, I'm impressed once more by the quality and speed of the
upstream code reviews.
With and the attached sysusers.d conf file we are closer but there is
the issue that some users/groups share the same ID, e.g. nouser and
nogroup. systemd-sysusers does not like that, it will pick a new
ID in this case.
Fixing this in the code is pretty trivial, we just need an OK from
upstream how to do it (either by ensuing the uid:gid syntax never
changes the uid/gid or via a new prefix/postfix like "!" to force
creation).
Then there is also a small issue incompatibility with the shell:
```
$ head -n2 passwd
root:x:0:0::/root:/bin/sh
daemon:x:1:1::/usr/sbin:/sbin/nologin
$ head -n2 /usr/share/base-passwd/passwd.master
root:*:0:0:root:/root:/bin/bash
daemon:*:1:1:daemon:/usr/sbin:/usr/sbin/nologin
```
For root it is "nologin" and the path of /sbin/nologin between Debian
and Fedora differs. Thats another open issue.
That seems to be the blockers for making this available
generally. What do you think?
Cheers,
Michael
-------------- next part --------------
#Type Name ID GECOS Home directory
u root 0 - /root
u daemon 1 - /usr/sbin
u bin 2 - /bin
u sys 3 - /dev
g adm 4 -
g tty 5 -
g disk 6 -
g man 12 -
u sync 4:65534 - /bin
u games 5:60 - /usr/games
u man 6:12 - /var/cache/man
u lp 7 - /var/spool/lpd
u mail 8 - /var/mail
u news 9 - /var/spool/news
u uucp 10 - /var/spool/uucp
u proxy 13 - /bin
g kmem 15 -
g dialout 20 -
g fax 21 -
g voice 22 -
g cdrom 24 -
g floppy 25 -
g tape 26 -
g sudo 27 -
g audio 29 -
g dip 30 -
u www-data 33 - /var/www
u backup 34 - /var/backups
g operator 37 -
u list 38 - /var/list
u irc 39 - /var/run/ircd
g src 40 -
u gnats 41 - /var/lib/gnats
g shadow 42 -
g utmp 43 -
g video 44 -
g sasl 45 -
g plugdev 46 -
g staff 50 -
g games 60 -
g users 100 -
u nobody 65534:65534 - /nonexistent
g nogroup 65534 -
More information about the Pkg-systemd-maintainers
mailing list