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 image: Add support for 32bit UEFI. 2022-06-24 10:21:06 +02:00
chromium-extension.scm chromium-extension: Compute json at argument evaluation time. 2023-12-27 17:18:52 +01:00
cross-toolchain.scm gnu: cross-toolchain: Add set-cross-path for AVR. 2023-12-11 13:36:51 +02:00
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 gnu: ‘make-icecat-extension’ inherits package location. 2023-12-10 21:46:52 +01:00
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 build: jami-service: account->username always return a fingerprint. 2022-09-23 23:56:15 -04:00
linux-boot.scm linux-boot: Don't create /root before it's used. 2023-11-19 01:00:00 +01:00
linux-container.scm linux-container: 'container-excursion' forks to join the PID namespace. 2023-01-30 22:24:27 +01:00
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 gnu: glibc-locales: Install symlinks using the normalized codeset. 2019-06-07 21:50:18 +02:00
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 shepherd: Remove ‘make-forkexec-constructor/container’. 2023-12-22 00:31:42 +01:00
svg.scm bootloader: grub: Use 'with-extensions'. 2018-06-01 15:21:28 +02:00