guix/gnu/system
Giacomo Leidi a1ecd7f56c
system: Add /etc/subuid and /etc/subgid support.
This commit adds a Guix System service to handle allocation of subuid
and subgid requests.  Users that don't care can just add themselves as a
subid-range and don't need to specify anything but their user name.
Users that care about specific ranges, such as possibly LXD, can specify
a start and a count.

* doc/guix.texi (Miscellaneous Services): Document it.
* gnu/build/activation.scm (activate-subuids+subgids): New variable.
* gnu/local.mk: Add gnu/tests/shadow.scm.
* gnu/system/accounts.scm (sexp->subid-range): New variable.
* gnu/system/shadow.scm (%root-subid): New variable;
(subids-configuration): new record;
(subid-range->gexp): new variable;
(assert-valid-subids): new variable;
(delete-duplicate-ranges): new variable;
(subids-activation): new variable;
(subids-extension): new record;
(append-subid-ranges): new variable;
(subids-extension-merge): new variable;
(subids-service-type): new variable.
* gnu/tests/shadow.scm (subids): New system test.

Change-Id: I3755e1c75771220c74fe8ae5de1a7d90f2376635
Signed-off-by: Giacomo Leidi <goodoldpaul@autistici.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18 18:32:40 +01:00
..
examples system: examples: Update instructions in {bare,devel}-hurd64.tmpl. 2024-12-18 17:00:13 +01:00
images system: image: Add hurd64 image types. 2024-12-03 08:39:00 +01:00
accounts.scm system: Add /etc/subuid and /etc/subgid support. 2024-12-18 18:32:40 +01:00
file-systems.scm
hurd.scm services: shepherd: Default to 1.0. 2024-12-09 23:15:44 +01:00
image.scm image: Add support for btrfs. 2024-10-14 14:08:43 +02:00
install.scm install: Open info manuals that have region codes. 2024-11-20 16:01:47 +01:00
keyboard.scm
linux-container.scm
linux-initrd.scm linux-initrd: Export ‘file-system-modules’. 2024-11-18 10:58:42 +01:00
locale.scm
mapped-devices.scm
nss.scm
pam.scm
privilege.scm
setuid.scm
shadow.scm system: Add /etc/subuid and /etc/subgid support. 2024-12-18 18:32:40 +01:00
uuid.scm
vm.scm