Linux distributions
TMA-ALINUX2-1.4.2
Ensure authentication required for single user mode
MediumLevel 1Automatedlinux
Description
Single user mode (rescue mode) is used for recovery when the system detects an issue during boot or by manual selection from the bootloader.
How it is checked
Audit method: Shell command
shell
alt0() { command -v grep >/dev/null 2>&1 || { echo "step1: grep not installed"; return 1; }; o=$(bash -c 'grep /sbin/sulogin /usr/lib/systemd/system/rescue.service' 2>&1); printf '%s\n' "$o" | tr -s ' \t' ' ' | sed 's/^ //;s/ $//' | grep -Fxq -- 'ExecStart=-/bin/sh -c "/sbin/sulogin; /usr/bin/systemctl --fail --no-block' || { echo step1: missing 'ExecStart=-/bin/sh -c "/sbin/sulogin; /usr/bin/systemctl --f'; return 1; }; printf '%s\n' "$o" | tr -s ' \t' ' ' | sed 's/^ //;s/ $//' | grep -Fxq -- 'default"' || { echo step1: missing 'default"'; return 1; }; command -v grep >/dev/null 2>&1 || { echo "step2: grep not installed"; return 1; }; o=$(bash -c 'grep /sbin/sulogin /usr/lib/systemd/system/emergency.service' 2>&1); printf '%s\n' "$o" | tr -s ' \t' ' ' | sed 's/^ //;s/ $//' | grep -Fxq -- 'ExecStart=-/bin/sh -c "/sbin/sulogin; /usr/bin/systemctl --fail --no-block' || { echo step2: missing 'ExecStart=-/bin/sh -c "/sbin/sulogin; /usr/bin/systemctl --f'; return 1; }; printf '%s\n' "$o" | tr -s ' \t' ' ' | sed 's/^ //;s/ $//' | grep -Fxq -- 'default"' || { echo step2: missing 'default"'; return 1; }; }; if alt0; then echo compliant; fi- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Edit /usr/lib/systemd/system/rescue.service and /usr/lib/systemd/system/emergency.service and set ExecStart to use /sbin/sulogin or /usr/sbin/sulogin: ExecStart=-/bin/sh -c "/sbin/sulogin; /usr/bin/systemctl --fail --no-block default"
Properties
- Operating systems
- alinux-2
- Tags
- cis-convertedlinux
- Reference
- CIS Aliyun Linux 2 Benchmark v1.0.0 ARCHIVE - 1.4.2
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target linux