diff options
Diffstat (limited to 'gnu/system')
-rw-r--r-- | gnu/system/images/wsl2.scm | 2 | ||||
-rw-r--r-- | gnu/system/privilege.scm | 10 | ||||
-rw-r--r-- | gnu/system/setuid.scm | 8 | ||||
-rw-r--r-- | gnu/system/uuid.scm | 8 |
4 files changed, 16 insertions, 12 deletions
diff --git a/gnu/system/images/wsl2.scm b/gnu/system/images/wsl2.scm index d9aaa1a271..b772d7b635 100644 --- a/gnu/system/images/wsl2.scm +++ b/gnu/system/images/wsl2.scm @@ -86,7 +86,7 @@ USER." (setenv "WSLPATH" (getenv "PATH")) ;; /run is mounted with the nosuid flag by WSL. This prevents - ;; running the /run/setuid-programs. Remount it without this flag + ;; /run/privileged/bin from working. Remount it without this flag ;; as a workaround. See: ;; https://github.com/microsoft/WSL/issues/8716. (mount #f "/run" #f diff --git a/gnu/system/privilege.scm b/gnu/system/privilege.scm index d89d5d5d1c..fe6e60ad7c 100644 --- a/gnu/system/privilege.scm +++ b/gnu/system/privilege.scm @@ -26,7 +26,9 @@ privileged-program-setgid? privileged-program-user privileged-program-group - privileged-program-capabilities)) + privileged-program-capabilities + + file-like->setuid-program)) ;;; Commentary: ;;; @@ -56,3 +58,9 @@ ;; POSIX capabilities in cap_from_text(3) form (defaults to #f: none). (capabilities privileged-program-capabilities ;string or #f (default #f))) + +(define (file-like->setuid-program program) + "Simple wrapper to facilitate MAPping over a list of file-like objects and +make them setuid, a pattern just common enough to justify a special helper." + (privileged-program (program program) + (setuid? #t))) diff --git a/gnu/system/setuid.scm b/gnu/system/setuid.scm index 4dd0cc8962..097797ce8d 100644 --- a/gnu/system/setuid.scm +++ b/gnu/system/setuid.scm @@ -21,15 +21,14 @@ #:use-module (gnu system privilege) #:use-module (ice-9 match) #:use-module (srfi srfi-1) + #:re-export (file-like->setuid-program) #:export (setuid-program setuid-program? setuid-program-program setuid-program-setuid? setuid-program-setgid? setuid-program-user - setuid-program-group - - file-like->setuid-program)) + setuid-program-group)) ;;; Commentary: ;;; @@ -56,6 +55,3 @@ (define setuid-program-setgid? privileged-program-setgid?) (define setuid-program-user privileged-program-user) (define setuid-program-group privileged-program-group) - -(define (file-like->setuid-program program) - (setuid-program (program program))) diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm index 8f967387ad..e6add06aba 100644 --- a/gnu/system/uuid.scm +++ b/gnu/system/uuid.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org> -;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019–2020, 2024 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -169,7 +169,7 @@ ISO9660 UUID representation." ;;; -;;; FAT32/FAT16. +;;; exFAT/FAT32/FAT16. ;;; (define-syntax %fat-endianness @@ -258,7 +258,7 @@ ISO9660 UUID representation." (vhashq ('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'f2fs 'jfs 'xfs 'luks => string->dce-uuid) - ('fat32 'fat16 'fat => string->fat-uuid) + ('exfat 'fat32 'fat16 'fat => string->fat-uuid) ('ntfs => string->ntfs-uuid) ('iso9660 => string->iso9660-uuid))) @@ -267,7 +267,7 @@ ISO9660 UUID representation." ('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'f2fs 'jfs 'xfs 'luks => dce-uuid->string) ('iso9660 => iso9660-uuid->string) - ('fat32 'fat16 'fat => fat-uuid->string) + ('exfat 'fat32 'fat16 'fat => fat-uuid->string) ('ntfs => ntfs-uuid->string))) (define* (string->uuid str #:optional (type 'dce)) |