summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/system.scm4
-rw-r--r--gnu/system/shadow.scm23
2 files changed, 23 insertions, 4 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index c2be74b6d5..41ea59b69b 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -92,9 +92,7 @@
(users operating-system-users ; list of user accounts
(default '()))
(groups operating-system-groups ; list of user groups
- (default (list (user-group
- (name "root")
- (id 0)))))
+ (default %base-groups))
(skeletons operating-system-skeletons ; list of name/monadic value
(default (default-skeletons)))
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 471390da61..fc19068ab6 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -42,7 +42,8 @@
user-group-id
default-skeletons
- skeleton-directory))
+ skeleton-directory
+ %base-groups))
;;; Commentary:
;;;
@@ -71,6 +72,26 @@
(password user-group-password (default #f))
(id user-group-id (default #f)))
+(define %base-groups
+ ;; Default set of groups.
+ (list (user-group (name "root") (id 0))
+ (user-group (name "wheel")) ; root-like users
+ (user-group (name "users")) ; normal users
+ (user-group (name "nogroup")) ; for daemons etc.
+
+ ;; The following groups are conventionally used by things like udev to
+ ;; control access to hardware devices.
+ (user-group (name "tty"))
+ (user-group (name "dialout"))
+ (user-group (name "kmem"))
+ (user-group (name "video"))
+ (user-group (name "audio"))
+ (user-group (name "lp"))
+ (user-group (name "disk"))
+ (user-group (name "floppy"))
+ (user-group (name "cdrom"))
+ (user-group (name "tape"))))
+
(define (default-skeletons)
"Return the default skeleton files for /etc/skel. These files are copied by
'useradd' in the home directory of newly created user accounts."