2017-01-22 1 views
0

私の質問はどのように私はそれをチェックすることであればelse文にスクリプトを作るのですか、であるか「のPermitRootLogin no」に、それが表示されるはず「の脆弱性を:いいえ」 Bash Scripting:SSH経由でrootログインを確認するための出力を表示するにはどうすればよいですか?

と「PermitRootLoginをyes」と、それはとして表示するかどう

「脆弱性:はい」?

ありがとうございます!

Output

スクリプト

#!/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'、またはラインの複数の用途を含むファイルについてneed-何をすべき? – chepner

答えて

1

コマンドの出力を格納する変数を使用することができます。

このスクリプトでは、

#!/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

関連する問題