2017-01-22 9 views
0

Мой вопрос, как я делаю сценарий в, если другое заявление, что он проверяет «PermitRootLogin нет», он должен показывать «Уязвимость: Нет»Bash Scripting: Как отображать выходные данные для проверки корневых входов через SSH?

и если «PermitRootLogin да» должно отображаться как «Уязвимость: да»?

Заранее благодарен!

Output

Script

#!/binbash 
     echo "Audit criteria: Root login via SSH are not allowed" 
     echo "Vulnerability: Yes" 
     echo "Details: See below" 
     echo 
     echo "Command:" 
     echo "grep "^PermitRootLogin" /etc/ssh/sshd_config" 
     echo 
     echo "Output:" 
     grep "^PermitRootLogin" /etc/ssh/sshd_config 
+0

Что о файлах, содержащих многократное использование 'PermitRootLogin' или строки, начинающиеся с пробела? – chepner

ответ

1

вы можете использовать переменные для хранения выходных данных команды.

Этот скрипт должен делать то, что вы need-

#!/binbash 
     permitrootlogin=`grep "^PermitRootLogin" /etc/ssh/sshd_config` 
     if [[ $permitrootlogin == "PermitRootLogin no" ]] 
     then 
     isVulnerability="No" 
     else 
     isVulnerability="Yes" 
     fi 
     echo "Audit criteria: Root login via SSH are not allowed" 
     echo "Vulnerability: $isVulnerability" 
     echo "Details: See below" 
     echo 
     echo "Command:" 
     echo "grep "^PermitRootLogin" /etc/ssh/sshd_config" 
     echo 
     echo "Output:" 
     echo $permitrootlogin 
+0

Большое вам спасибо, это было то, что я искал! –

+0

@ S.Smith Затем отметьте его ответ как принятый. V рядом с голосованием. – kabanus

+0

Хотя структура теста верна, это не очень хороший способ проверить вашу конфигурацию. Файл может содержать несколько строк, соответствующих '^ PermitRootLogin', что приводит к ложному срабатыванию. – chepner

 Смежные вопросы

  • Нет связанных вопросов^_^