#!/usr/bin/env bash{# Check if GNOME Desktop Manager is installed. If package isn't installed, recommendation is Not Applicable\n# determine system's package managerl_pkgoutput=""ifcommand-vdpkg-query>/dev/null2>&1;thenl_pq="dpkg-query -W"elifcommand-vrpm>/dev/null2>&1;thenl_pq="rpm -q"fi# Check if GDM is installedl_pcl="gdm gdm3"# Space seporated list of packages to checkforl_pnin$l_pcl;do$l_pq"$l_pn">/dev/null2>&1&&l_pkgoutput="$l_pkgoutput\n - Package: \"$l_pn\" exists on the system\n - checking configuration"done# Check configuration (If applicable)if[-n"$l_pkgoutput"];thenl_output=""l_output2=""# Look for idle-delay to determine profile in use, needed for remaining testsl_kfd="/etc/dconf/db/$(grep-Psril'^\h*idledelay\h*=\h*uint32\h+\d+\b'/etc/dconf/db/*/|awk-F'/''{split($(NF1),a,".");print a[1]}').d"#set directory of key file to be lockedl_kfd2="/etc/dconf/db/$(grep-Psril'^\h*lockdelay\h*=\h*uint32\h+\d+\b'/etc/dconf/db/*/|awk-F'/''{split($(NF1),a,".");print a[1]}').d"#set directory of key file to be lockedif[-d"$l_kfd"];then# If key file directory doesn't exist, options can't be lockedifgrep-Prilq'\/org\/gnome\/desktop\/session\/idle-delay\b'"$l_kfd";thenl_output="$l_output\n - \"idle-delay\" is locked in \"$(grep-Pril'\/org\/gnome\/desktop\/session\/idle-delay\b'"$l_kfd")\""elsel_output2="$l_output2\n - \"idle-delay\" is not locked"fielsel_output2="$l_output2\n - \"idle-delay\" is not set so it can not be locked"fiif[-d"$l_kfd2"];then# If key file directory doesn't exist, options can't be lockedifgrep-Prilq'\/org\/gnome\/desktop\/screensaver\/lock-delay\b'"$l_kfd2";thenl_output="$l_output\n - \"lock-delay\" is locked in \"$(grep-Pril'\/org\/gnome\/desktop\/screensaver\/lock-delay\b'"$l_kfd2")\""elsel_output2="$l_output2\n - \"lock-delay\" is not locked"fielsel_output2="$l_output2\n - \"lock-delay\" is not set so it can not be locked"fielsel_output="$l_output\n - GNOME Desktop Manager package is not installed on the system\n - Recommendation is not applicable"fi# Report results. If no failures output in l_output2, we pass[-n"$l_pkgoutput"]&&echo-e"\n$l_pkgoutput"if[-z"$l_output2"];thenecho-e"\n- Audit Result:\n ** PASS **\n$l_output\n"elseecho-e"\n- Audit Result:\n ** FAIL **\n - Reason(s) for auditfailure:\n$l_output2\n"[-n"$l_output"]&&echo-e"\n- Correctly set:\n$l_output\n"fi}
#!/usr/bin/env bash{# Check if GNMOE Desktop Manager is installed. If package isn't installed, recommendation is Not Applicable\n# determine system's package managerl_pkgoutput=""ifcommand-vdpkg-query>/dev/null2>&1;thenl_pq="dpkg-query -W"elifcommand-vrpm>/dev/null2>&1;thenl_pq="rpm -q"fi# Check if GDM is installedl_pcl="gdm gdm3"# Space seporated list of packages to checkforl_pnin$l_pcl;do$l_pq"$l_pn">/dev/null2>&1&&l_pkgoutput="y"&&echo-e"\n - Package: \"$l_pn\" exists on the system\n - remediating configuration if needed"done# Check configuration (If applicable)if[-n"$l_pkgoutput"];then# Look for idle-delay to determine profile in use, needed for remaining testsl_kfd="/etc/dconf/db/$(grep-Psril'^\h*idledelay\h*=\h*uint32\h+\d+\b'/etc/dconf/db/*/|awk-F'/''{split($(NF1),a,".");print a[1]}').d"#set directory of key file to be locked# Look for lock-delay to determine profile in use, needed for remaining testsl_kfd2="/etc/dconf/db/$(grep-Psril'^\h*lockdelay\h*=\h*uint32\h+\d+\b'/etc/dconf/db/*/|awk-F'/''{split($(NF1),a,".");print a[1]}').d"#set directory of key file to be lockedif[-d"$l_kfd"];then# If key file directory doesn't exist, options can't be lockedifgrep-Prilq'^\h*\/org\/gnome\/desktop\/session\/idle-delay\b'"$l_kfd";thenecho" - \"idle-delay\" is locked in \"$(grep-Pril'^\h*\/org\/gnome\/desktop\/session\/idle-delay\b'"$l_kfd")\""elseecho"creating entry to lock \"idle-delay\""[!-d"$l_kfd"/locks]&&echo"creating directory $l_kfd/locks"&&mkdir"$l_kfd"/locks
{echo-e'\n# Lock desktop screensaver idle-delay setting'echo'/org/gnome/desktop/session/idle-delay'}>>"$l_kfd"/locks/00-screensaver
fielseecho-e" - \"idle-delay\" is not set so it can not be locked\n - Please follow Recommendation \"Ensure GDM screen locks when the user is idle\" and follow this Recommendation again"fiif[-d"$l_kfd2"];then# If key file directory doesn't exist, options can't be lockedifgrep-Prilq'^\h*\/org\/gnome\/desktop\/screensaver\/lockdelay\b'"$l_kfd2";thenecho" - \"lock-delay\" is locked in \"$(grep-Pril'^\h*\/org\/gnome\/desktop\/screensaver\/lock-delay\b'"$l_kfd2")\""elseecho"creating entry to lock \"lock-delay\""[!-d"$l_kfd2"/locks]&&echo"creating directory $l_kfd2/locks"&&mkdir"$l_kfd2"/locks
{echo-e'\n# Lock desktop screensaver lock-delay setting'echo'/org/gnome/desktop/screensaver/lock-delay'}>>"$l_kfd2"/locks/00-screensaver
fielseecho-e" - \"lock-delay\" is not set so it can not be locked\n - Please follow Recommendation \"Ensure GDM screen locks when the user is idle\" and follow this Recommendation again"fielseecho-e" - GNOME Desktop Manager package is not installed on the system\n - Recommendation is not applicable"fi}
Run the following command to update the system databases:
# dconf update
Note: Users must log out and back in again before the system-wide settings take effect.