guix/gnu/build
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
..
accounts.scm accounts: Add /etc/subid and /etc/subgid allocation logic. 2024-12-18 18:32:40 +01:00
activation.scm system: Add /etc/subuid and /etc/subgid support. 2024-12-18 18:32:40 +01:00
bootloader.scm
chromium-extension.scm
cross-toolchain.scm
dbus-service.scm
file-systems.scm bootloader: grub: Remove hardcoded partition number for the Hurd. 2024-11-11 07:28:33 +01:00
hurd-boot.scm hurd-boot: Support second boot. 2024-11-11 07:28:33 +01:00
icecat-extension.scm
image.scm image: Add support for btrfs. 2024-10-14 14:08:43 +02:00
install.scm services: activation: Ensure /run existence. 2024-02-19 18:42:12 +01:00
jami-service.scm
linux-boot.scm
linux-container.scm
linux-initrd.scm
linux-modules.scm gnu: linux-libre: Enable Zstd compression of kernel modules. 2024-05-29 22:01:23 -04:00
locale.scm
marionette.scm marionette: Add #:peek? to ‘wait-for-tcp-port?’. 2024-02-10 22:59:56 +01:00
secret-service.scm services: secret-service: Make the endpoint configurable. 2024-02-10 22:59:43 +01:00
shepherd.scm
svg.scm