Я пытаюсь создать сценарий bash для теста STIG с идентификатором уязвимости V-72017 в системе Red Hat Enterprise Linux (RHEL). Мне поручено убедиться, что все пользовательские разрешения имеют восьмеричное значение 0750 или меньше
У меня есть возможность собрать восьмеричное значение разрешения пользователя с помощью
stat -c "%a" /home/$username
Я пытаюсьсоздайте массив $ username (или directory), используя команду (выводит имя каждого пользователя в системе):
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1
Я планирую отобразить этот вывод в массив, возможно, цикл while. Это возможное решение?
Синтаксическая ошибка из следующего:
(eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1) | while read -r line
do
myarray+=line
stat -c "%a" /home/$line
done
Требуемый вариант вывода 1:
Users:
rob
bob
Exit Fail: bob has permission octal value 0755.
Требуемый вариант вывода 2:
Users:
rob
bob
Exit Pass: All users have permission octal value of 0750 or less.