summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIkey Doherty <ikey@solus-project.com>2017-12-03 12:28:23 +0000
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-12-03 13:28:23 +0100
commit84786b8e322f916b78aeb81f409ea3500dd49143 (patch)
tree9afa54ee7a9f439a490492ef476b859a7e9d11c5
parent01a7e0a14df0fc8d36f502839d70347d73cbf58a (diff)
downloadsystemd-84786b8e322f916b78aeb81f409ea3500dd49143.tar.gz
sysusers: Provide meson argument to set gid for 'users' group (#7533)
To allow better integration with distributions requiring an explicitly set gid for the `users` group, provide the new `-Dusers-gid` option to set to a new numeric value. In the absence of a specified gid, we'll fallback to the default existing behaviour of `-` as the gid value, to automatically assign the next available gid on the system.
-rw-r--r--meson.build9
-rw-r--r--meson_options.txt2
-rw-r--r--sysusers.d/basic.conf.in2
3 files changed, 12 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index 6eff25f45c..e0e8178910 100644
--- a/meson.build
+++ b/meson.build
@@ -633,6 +633,14 @@ tty_gid = get_option('tty-gid')
conf.set('TTY_GID', tty_gid)
substs.set('TTY_GID', tty_gid)
+# Ensure provided GID argument is numeric, otherwise fallback to default assignment
+if get_option('users-gid') != ''
+ users_gid = get_option('users-gid').to_int()
+else
+ users_gid = '-'
+endif
+substs.set('USERS_GID', users_gid)
+
if get_option('adm-group')
m4_defines += ['-DENABLE_ADM_GROUP']
endif
@@ -2495,6 +2503,7 @@ status = [
'debug shell: @0@ @ @1@'.format(get_option('debug-shell'),
get_option('debug-tty')),
'TTY GID: @0@'.format(tty_gid),
+ 'users GID: @0@'.format(users_gid),
'maximum system UID: @0@'.format(system_uid_max),
'maximum system GID: @0@'.format(system_gid_max),
'/dev/kvm access mode: @0@'.format(get_option('dev-kvm-mode')),
diff --git a/meson_options.txt b/meson_options.txt
index 498a32ab11..8c03b0c6de 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -150,6 +150,8 @@ option('system-gid-max', type : 'string',
option('tty-gid', type : 'string',
description : 'the numeric GID of the "tty" group',
value : '5')
+option('users-gid', type : 'string',
+ description : 'the numeric GID of the "users" group')
option('adm-group', type : 'boolean',
description : 'the ACL for adm group should be added')
option('wheel-group', type : 'boolean',
diff --git a/sysusers.d/basic.conf.in b/sysusers.d/basic.conf.in
index edaa3d91b0..78b764bdef 100644
--- a/sysusers.d/basic.conf.in
+++ b/sysusers.d/basic.conf.in
@@ -35,4 +35,4 @@ g tape - - -
g video - - -
# Default group for normal users
-g users - - -
+g users @USERS_GID@ - -