Systemd/src
Lennart Poettering 1b99214789 sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from static files
systemd-sysusers is a tool to reconstruct /etc/passwd and /etc/group
from static definition files that take a lot of inspiration from
tmpfiles snippets. These snippets should carry information about system
users only. To make sure it is not misused for normal users these
snippets only allow configuring UID and gecos field for each user, but
do not allow configuration of the home directory or shell, which is
necessary for real login users.

The purpose of this tool is to enable state-less systems that can
populate /etc with the minimal files necessary, solely from static data
in /usr. systemd-sysuser is additive only, and will never override
existing users.

This tool will create these files directly, and not via some user
database abtsraction layer. This is appropriate as this tool is supposed
to run really early at boot, and is only useful for creating system
users, and system users cannot be stored in remote databases anyway.

The tool is also useful to be invoked from RPM scriptlets, instead of
useradd. This allows moving from imperative user descriptions in RPM to
declarative descriptions.

The UID/GID for a user/group to be created can either be chosen dynamic,
or fixed, or be read from the owner of a file in the file system, in
order to support reconstructing the correct IDs for files that shall be
owned by them.

This also adds a minimal user definition file, that should be
sufficient for most basic systems. Distributions are expected to patch
these files and augment the contents, for example with fixed UIDs for
the users where that's necessary.
2014-06-12 23:07:33 +02:00
..
ac-power unit: add ConditionACPower= 2012-12-31 21:24:26 +01:00
activate activate: export make_socket_fd 2014-03-17 01:55:48 -04:00
analyze analyze/run: use bus_open_transport_systemd instead of bus_open_transport 2014-05-26 14:21:53 -04:00
ask-password Add more password agent information 2014-04-24 09:23:54 +02:00
backlight backlight: Do not clamp brightness for LEDs 2014-06-10 18:57:48 +02:00
binfmt shared: add root argument to search_and_fopen 2014-03-14 09:31:34 -04:00
boot make gcc shut up 2014-02-19 17:53:50 +01:00
bootchart bootchart: print to stdout and display default values in help 2014-04-24 19:21:51 -04:00
bus-proxyd bus-proxy: properly index policy by uid/gid when parsing 2014-06-10 17:56:52 +02:00
cgls cgls: avoid writing an unused value 2014-04-14 21:02:20 +02:00
cgroups-agent cgroups-agent: down-grade log level 2013-11-25 17:40:53 +01:00
cgtop make gcc shut up 2014-02-19 17:53:50 +01:00
compat-libs build-sys: build compat libs from sources, avoiding the not generally available ifunc wrapping 2014-02-22 21:28:55 +01:00
core machine-id-setup: fix array size of parameters 2014-06-10 19:19:35 +02:00
cryptsetup Fix keysize handling in cryptsetup (bits vs. bytes) 2014-04-24 09:23:57 +02:00
dbus1-generator Remove unnecessary casts in printfs 2014-05-15 15:29:58 +02:00
delta delta: draw arrows with draw_special_char() 2014-04-23 19:06:39 +02:00
detect-virt virt: make Virtualization an anonymous enum 2014-02-24 13:26:44 +01:00
efi-boot-generator efi-boot-generator: typo fix 2014-03-07 02:40:24 +01:00
fsck fsck: disable "-l" option for now 2014-06-04 11:16:30 +02:00
fstab-generator fstab-generator: when running in a container, ignore fstab entries referring to device nodes 2014-03-11 18:02:27 +01:00
getty-generator getty: Start getty on 3270 terminals available on Linux on System z 2014-03-13 10:42:26 +01:00
gpt-auto-generator gpt-auto-generator: there's no point in looking for a superblock on raw disk, we only care for a partition table 2014-03-13 01:06:41 +01:00
gudev gudev: add missing (nullable) annotations on return values 2014-05-18 18:58:40 +02:00
hostname hostnamed: Fix the way that static and transient host names interact 2014-05-28 09:34:37 +08:00
initctl core: make sure PrivateDevices= makes /dev/log available 2014-06-04 16:59:13 +02:00
journal journald: create /run/log/journal with the correct access modes 2014-06-11 10:36:13 +02:00
kernel-install kernel-install: fix help output 2013-12-09 23:19:16 -05:00
libsystemd build-sys: update library versions 2014-06-11 15:30:28 +02:00
libsystemd-network sd-dhcp-client: allways request broadcast 2014-06-03 10:55:46 +02:00
libudev Remove unnecessary casts in printfs 2014-05-15 15:29:58 +02:00
locale sd-bus: introduce sd_bus_slot objects encapsulating callbacks or vtables attached to a bus connection 2014-05-15 01:15:30 +02:00
login logind: also escape external data when saving to /run 2014-05-22 10:36:16 +09:00
machine machine: escape fields we store in /run, so that they can be properly unescaped by parse_env_file() 2014-05-22 10:36:16 +09:00
machine-id-setup machine-id-setup: use path_kill_slashes and modernizations 2014-03-14 09:31:34 -04:00
modules-load shared: add root argument to search_and_fopen 2014-03-14 09:31:34 -04:00
network networkd: link - intialize mac address 2014-06-04 21:29:25 +02:00
notify sd-daemon: introduce sd_pid_notify() and sd_pid_notifyf() 2014-06-05 17:05:18 +02:00
nspawn nspawn: add new --tmpfs= option to mount a tmpfs on specific directories, such as /var 2014-06-11 00:44:30 +02:00
nss-myhostname nss-myhostname: port to sd-rtnl 2014-04-19 18:39:24 +02:00
python-systemd systemd-python: fix failing assert 2014-04-05 13:30:08 -04:00
quotacheck util: move more intellegince into parse_proc_cmdline() 2014-03-06 18:48:22 +01:00
random-seed random-seed: improve debugging messages a bit 2013-11-15 22:53:14 -05:00
rc-local-generator rc-local: use access(X_OK) to check if files are executable 2013-10-29 19:34:59 +01:00
readahead man: readahead: fix cmdline switch inconsistency between readahead.c and docs 2014-05-16 17:13:03 +02:00
remount-fs Introduce _cleanup_endmntent_ 2013-10-03 22:13:55 -04:00
reply-password util: replace close_nointr_nofail() by a more useful safe_close() 2014-03-18 19:31:34 +01:00
resolve resolved: run as unpriviliged "systemd-resolve" user 2014-06-03 10:40:28 +02:00
rfkill rfkill: Avoid error when state restore is disabled 2013-12-06 16:44:38 +01:00
run analyze/run: use bus_open_transport_systemd instead of bus_open_transport 2014-05-26 14:21:53 -04:00
shared sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from static files 2014-06-12 23:07:33 +02:00
shutdownd Remove unnecessary casts in printfs 2014-05-15 15:29:58 +02:00
sleep util: add timeout to generator execution 2014-03-06 04:00:42 +01:00
socket-proxy fix warnings 2014-06-06 23:31:25 +02:00
sysctl sysctl: replaces some slashes with dots 2014-04-16 21:52:36 -04:00
system-update-generator Standarize on one spelling of symlink error message 2013-04-24 00:25:04 -04:00
systemctl core: Filter by state behind the D-Bus API, not in the systemctl client. 2014-05-19 00:50:30 +09:00
systemd sd-daemon: introduce sd_pid_notify() and sd_pid_notifyf() 2014-06-05 17:05:18 +02:00
sysusers sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from static files 2014-06-12 23:07:33 +02:00
sysv-generator Move handling of sysv initscripts to a generator 2014-06-07 00:59:32 +02:00
test bus: add basic dbus1 policy parser 2014-06-06 19:41:24 +02:00
timedate timedated: refuse manual system time updates when automatic timesync is enabled 2014-05-24 10:45:44 +08:00
timesync timesyncd: split privilege dropping code out of timesyncd so that we can make use of it from other daemons too 2014-06-01 08:49:33 +02:00
tmpfiles tmpfiles: add ability to mask access mode by pre-existing access mode on files/directories 2014-06-11 10:14:07 +02:00
tty-ask-password-agent tty-ask-password-agent: Do tell what directory we failed to open 2014-06-01 08:06:16 +02:00
udev udev: check the return value from udev_enumerate_scan_devices 2014-06-10 19:06:50 +02:00
update-utmp Remove unnecessary casts in printfs 2014-05-15 15:29:58 +02:00
vconsole util: replace close_nointr_nofail() by a more useful safe_close() 2014-03-18 19:31:34 +01:00
.gitignore Add test coverage and generate report with lcov 2013-07-13 21:56:33 -04:00
Makefile