From 36dc1b7a2ea44321a2c233fd7ea576ed516d4ccc Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Fri, 1 Dec 2023 21:39:58 -0600 Subject: Add 'rootshell' key to determine root's shell * Key added to code and documentation. * Tests added and pass locally on gwyn (ppc64) and fran (aarch64). * Qt UI automatically sets /bin/zsh as root's shell (ref: packages#206). * ISO image creator backend no longer has root shell hack. --- devel/requirements/3b_runner.xml | 16 ++++++++++++++++ devel/script/2_keys.xml | 31 +++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) (limited to 'devel') diff --git a/devel/requirements/3b_runner.xml b/devel/requirements/3b_runner.xml index b5e9848..9ab06bd 100644 --- a/devel/requirements/3b_runner.xml +++ b/devel/requirements/3b_runner.xml @@ -378,6 +378,14 @@ Runner.Validate.usergroups.Group The system shall verify that each group specified is a valid system-defined group name that is present in the base system image /etc/group file. + + Runner.Validate.rootshell + The system shall verify that the HorizonScript contains zero or one rootshell key. + + + Runner.Validate.rootshell.Format + The system shall verify that the value of the rootshell key, if present, begins with a /. + Runner.Validate.diskid The system shall verify any diskid keys contained in the HorizonScript. @@ -828,6 +836,14 @@ Runner.Execute.svcenable.AddlRunlevels If a runlevel not defined by the system service manager is specified in a svcenable key, it shall be interpreted to be a stacked runlevel atop the default runlevel and shall be configured as such in the target namespace. + + Runner.Execute.rootshell + If a rootshell key is specified in the HorizonScript, the system shall set the shell of the root user to the value specified. + + + Runner.Execute.rootshell.Exists + If the rootshell key specifies a file that does not exist or is not executable, the system shall set the shell of the root user to the value/bin/sh. + Runner.Execute.bootloader If a bootloader key is specified in the HorizonScript, the system shall perform the requested bootloader configuration. diff --git a/devel/script/2_keys.xml b/devel/script/2_keys.xml index bd8469c..854f0d5 100644 --- a/devel/script/2_keys.xml +++ b/devel/script/2_keys.xml @@ -695,6 +695,37 @@ signingkey https://packages/builder@ourcompany.net.pub +
+ <literal>rootshell</literal> + + Name + rootshell + + + Purpose + The rootshell key specifies the shell to use when logging in to the target computer as the root user. + + + Format + The rootshell key is a single string value containing the full path inside the target to the executable to use as the shell. + + + Default + If no rootshell key is specified, the target computer will use /bin/sh as the shell when logging in as the root user. + + + Example + + + The <literal>rootshell</literal> Key + + rootshell /bin/zsh + + This will configure the target computer to use /bin/zsh as the shell when logging in as the root user. + + + +
<literal>bootloader</literal> -- cgit v1.2.3-60-g2f50