summaryrefslogtreecommitdiff
path: root/doc/examples/cloud-config-user-groups.txt
diff options
context:
space:
mode:
authordermotbradley <dermot_bradley@yahoo.com>2020-10-30 20:12:38 +0000
committerGitHub <noreply@github.com>2020-10-30 16:12:38 -0400
commitf8c84aeead77b7e508644d94889ee701f20e8d31 (patch)
treecf1dd65855d28c7d55366a6ab3ce4f7678ebe18e /doc/examples/cloud-config-user-groups.txt
parent0f8be879073148f1d67094df9ec895a873caa0d7 (diff)
downloadvyos-cloud-init-f8c84aeead77b7e508644d94889ee701f20e8d31.tar.gz
vyos-cloud-init-f8c84aeead77b7e508644d94889ee701f20e8d31.zip
Correct documentation and testcase data for some user-data YAML (#618)
For cc_users_groups the user setting "expiredate" must be quoted in order for the relevant flag and value to be then passed to the useradd command. It its vaiue is not quoted then it is treated as Python type datetime.date and in `cloudinit/distros/__init__.py` the below "is it a string" condition fails and so no "--expiredate" parameter is passed to useradd and therefore it has no effect: ``` if key in useradd_opts and val and isinstance(val, str): useradd_cmd.extend([useradd_opts[key], val]) ``` For cc_users_groups, the user setting "inactive" does not actually disable accounts, the useradd "--inactive" option actually defines the number of days after password expiry that users can still login. So I have changed the docs to show it taking a quoted value of days (which works with the current code) rather than a boolean value. The quotes are necessary, like expiredate above, so that the value is also passed to the useradd command. For cc_power_state_change.py the "delay" setting value needs to have quotes around it as otherwise its leading plus sign will be stripped off.
Diffstat (limited to 'doc/examples/cloud-config-user-groups.txt')
-rw-r--r--doc/examples/cloud-config-user-groups.txt7
1 files changed, 4 insertions, 3 deletions
diff --git a/doc/examples/cloud-config-user-groups.txt b/doc/examples/cloud-config-user-groups.txt
index b593cdd1..4a5a7e20 100644
--- a/doc/examples/cloud-config-user-groups.txt
+++ b/doc/examples/cloud-config-user-groups.txt
@@ -19,7 +19,7 @@ users:
primary_group: foobar
groups: users
selinux_user: staff_u
- expiredate: 2012-09-01
+ expiredate: '2012-09-01'
ssh_import_id: foobar
lock_passwd: false
passwd: $6$j212wezy$7H/1LT4f9/N3wpgNunhsIqtMj62OKiS3nyNwuizouQc3u7MbYCarYeAHWYPYb2FT.lbioDm2RrkJPb9BZMN1O/
@@ -34,7 +34,7 @@ users:
- <ssh pub key 2>
- name: cloudy
gecos: Magic Cloud App Daemon User
- inactive: true
+ inactive: '5'
system: true
- name: fizzbuzz
sudo: False
@@ -47,6 +47,7 @@ users:
# Valid Values:
# name: The user's login name
+# expiredate: Date on which the user's account will be disabled.
# gecos: The user name's real name, i.e. "Bob B. Smith"
# homedir: Optional. Set to the local path you want to use. Defaults to
# /home/<username>
@@ -57,7 +58,7 @@ users:
# "staff_u". When this is omitted the system will select the default
# SELinux user.
# lock_passwd: Defaults to true. Lock the password to disable password login
-# inactive: Create the user as inactive
+# inactive: Number of days after password expires until account is disabled
# passwd: The hash -- not the password itself -- of the password you want
# to use for this user. You can generate a safe hash via:
# mkpasswd --method=SHA-512 --rounds=4096