Linux distributions
TMA-ALMA9-5.4.2.8
Ensure accounts without a valid login shell are locked
Description
There are a number of accounts provided with most distributions that are used to manage applications. Additionally, an administrator may add special accounts that are not intended for interactive use.
Méthode de vérification
Méthode d'audit: Commande shell
alt0() { o=$(bash -c '#!/usr/bin/env bash
{
l_valid_shells="^($(awk -F\/ '"'"'($NF != "nologin" && $NF != "false") {print}'"'"' /etc/shells | sed -rn '"'"'/^\//{s,/,\\\\/,g;p}'"'"' | paste -s -d '"'"'|'"'"' - ))$"
while IFS= read -r l_user; do
passwd -S "$l_user" | awk '"'"'$2 !~ /^L/ {print "Account: \"" $1 "\" does not have a valid login shell and is not locked"}'"'"'
done < <(awk -v pat="$l_valid_shells" -F: '"'"'($1 != "root" && $(NF) !~ pat) {print $1}'"'"' /etc/passwd)
}' 2>&1); [ -z "$o" ] || { echo "step1: $o" | head -c 300; return 1; }; }; if alt0; then echo compliant; fi- Sortie attendue
compliant
Méthode de correction
Méthode de correction: Recommandation ou correctif d'infrastructure
Run the following command to lock any non-root accounts without a valid login shell returned by the audit: # usermod -L <user> Example script: #!/usr/bin/env bash { l_valid_shells="^($(awk -F\/ '($NF != "nologin" && $NF != "false") {print}' /etc/shells | sed -rn '/^\//{s,/,\\\\/,g;p}' | paste -s -d '|' - ))$" while IFS= read -r l_user; do passwd -S "$l_user" | awk '$2 !~ /^L/ {system ("usermod -L " $1)}' done < <(awk -v pat="$l_valid_shells" -F: '($1 != "root" && $(NF) !~ pat) {print $1}' /etc/passwd) }
Propriétés
- Systèmes d'exploitation
- almalinux-9
- Étiquettes
- cis-convertedlinux
- Référence
- CIS AlmaLinux OS 9 Benchmark v3.0.0 - 5.4.2.8
Vérifier cet hôte
Exécutez cette commande sur une machine que vous êtes autorisé à auditer. L'analyse est en lecture seule.
tmaegis scan --target linux