Go to file
Zbigniew Jędrzejewski-Szmek 49bb7fe5f8 sysusers: insist that root group is 0
In https://bugzilla.redhat.com/show_bug.cgi?id=2156900 sysusers was reporting a
conflict between the following lines:
  u root 0:0 "Super User" /root /bin/bash
  u root    0     "Super User" /root

The problem is that those configurations are indeed not equivalent. If group 0
exists with a different name, the first line would just create the user, but the
second line would create a 'root' group with a different GID. The second
behaviour seems definitely wrong. (Or at least more confusing in practice than
the first one. The system is in a strange shape, but the second approach takes
an additional step than is worse than doing nothing.)

When this line was initially added, we didn't have the uid:gid functionality for
'u', so we didn't think about this too much. But now we do, so we should use it.

$ build/systemd-sysusers --root=/var/tmp/inst7 --inline 'g foobar 0'
Creating group 'foobar' with GID 0.

$ build/systemd-sysusers --root=/var/tmp/inst7 --inline 'u root 0 "Zuper zuper"'
src/sysusers/sysusers.c:1365: Creating group 'root' with GID 999.
src/sysusers/sysusers.c:1115: Suggested user ID 0 for root already used.
src/sysusers/sysusers.c:1183: Creating user 'root' (Zuper zuper) with UID 999 and GID 999.

vs.

$ build/systemd-sysusers --root=/var/tmp/inst7 --inline 'u root 0:0 "Zuper zuper"'
src/sysusers/sysusers.c:1183: Creating user 'root' (Zuper zuper) with UID 0 and GID 0.
2023-02-01 00:02:09 +00:00
.clusterfuzzlite ci: unpin CFLite 2022-04-26 09:13:57 +00:00
.github mkosi: Disable auditd when running with nspawn in CI 2023-01-29 17:34:21 +01:00
.semaphore semaphore: remove the Semaphore repositories recursively 2022-11-08 01:11:44 +09:00
catalog timesyncd: write structured log messages whenever we bump the clock based on disk timestamp 2023-01-20 22:33:04 +01:00
coccinelle coccinelle: skip the empty-to-null transformation on the macro itself 2023-01-25 11:35:06 +01:00
docs update footer to 2023 2023-01-29 20:26:28 +09:00
factory meson: also allow setting GIT_VERSION via templates 2022-04-05 22:18:31 +02:00
hwdb.d Update hwdb 2023-01-24 12:30:25 +00:00
LICENSES network: change license of examples to MIT-0 2022-10-26 08:39:34 +02:00
man ukify: don't install ukify man page if ukify is not enabled 2023-01-31 23:57:28 +00:00
mkosi.conf.d mkosi: Drop epel-testing repository from centos config 2023-01-29 11:55:57 +01:00
modprobe.d meson: install the right README file in modprobe.d 2021-07-07 14:52:05 +02:00
network network: change license of examples to MIT-0 2022-10-26 08:39:34 +02:00
po po: Translated using Weblate (Portuguese) 2022-12-12 13:26:55 +09:00
presets journal: give the ability to enable/disable systemd-journald-audit.socket 2023-01-11 17:18:57 +01:00
rules.d udev: also create partition /dev/disk/by-diskseq/ symlinks 2022-12-23 12:42:37 +01:00
shell-completion bash-completion: add missing --unlock-fido2-device to systemd-cryptenroll 2023-01-25 11:53:50 +01:00
src network: dhcp-server: do not create DHCPServer object when the DHCP server is running in relaying mode 2023-02-01 00:00:19 +00:00
sysctl.d tree-wide: link to docs.kernel.org for kernel documentation 2022-07-04 19:56:53 +02:00
sysusers.d sysusers: insist that root group is 0 2023-02-01 00:02:09 +00:00
test Merge pull request #26245 from ldv-alt/tmpfiles-fixes 2023-01-30 17:14:03 +01:00
tmpfiles.d tmpfiles: automatically create /etc/credstore/ and friends 2023-01-27 10:03:38 +01:00
tools oss-fuzz: include generated corpora in the final zip file 2023-01-07 17:44:23 +01:00
units units: don't install pcrphase-related units without gnu-efi 2023-01-17 14:30:02 +01:00
xorg xorg/50-systemd-user: add a full license header 2021-10-01 14:45:00 +02:00
.clang-format clang-format: Adjust style of pointers 2022-05-30 04:00:54 +09:00
.ctags
.dir-locals.el
.editorconfig docs: configure editorconfig for css and html 2022-05-17 21:13:17 +02:00
.gitattributes gitattributes: introduce and use "generated" attribute 2021-10-18 09:42:55 +02:00
.gitignore core/cgroup: CPUWeight/CPUShares support idle input 2022-08-11 14:25:58 +02:00
.mailmap mailmap: two more names 2021-03-30 13:17:58 +02:00
.packit.yml packit: drop/replace deprecated directives 2022-12-15 21:48:49 +09:00
.vimrc
.ycm_extra_conf.py
configure tools: shellcheck-ify tool scripts 2021-09-30 12:27:06 +02:00
LICENSE.GPL2
LICENSE.LGPL2.1
Makefile tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
meson.build meson: fail build on implicit int warnings 2023-02-01 00:01:03 +00:00
meson_options.txt boot: Remove option TPM PCR compat option 2023-01-09 09:52:55 +01:00
mkosi.build mkosi: Drop focal workaround in build script 2023-01-29 17:05:23 +01:00
mkosi.kernel.config mkosi: Enable CONFIG_ZBOOT 2022-12-13 21:27:15 +01:00
mkosi.postinst mkosi: drop spaces after shell redirection operator 2022-11-14 11:59:30 +01:00
mkosi.prepare mkosi: Add back CentOS Stream 8 to CI 2023-01-29 17:05:23 +01:00
NEWS NEWS: Add entry about support for multiple FIDO2 tokens 2023-01-26 09:33:28 -05:00
README ci: install pefile 2022-12-07 15:53:47 +01:00
README.md README.md: add a missing line break 2022-10-19 11:17:33 +02:00
TODO update TODO 2023-01-26 11:51:50 +01:00

Systemd

System and Service Manager

Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
CentOS CI - CentOS 8
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
CentOS CI - Rawhide (SELinux)
Fossies codespell report
Coverage Status
Packaging status
OpenSSF Scorecard

Details

Most documentation is available on systemd's web site.

Assorted, older, general information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Code Map for information about this repository's layout and content.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.