サーバーのセキュリティチェック時に役に立つようにLinuxコマンドをまとめてみました。
CentOS/RedHat Enterprise Linux用です。
バージョン系
1 2 3 |
[root@ ~]$ cat /etc/redhat-release [root@ ~]$ uname -a [root@ ~]$ rpm -qa | grep kernel |
x86_64, amd64 は64ビット
i386, i686, x86 は32ビット
ユーザー系
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@ ~]$ cat /etc/passwd [root@ ~]$ cat /etc/shadow [root@ ~]$ cat /etc/group #root権限でコマンド実行可能なユーザー設定 [root@ ~]$ cat /etc/sudoers #rootアカウントにアクセスできる端末設定 [root@ ~]$ cat /etc/securetty #ssh設定 [root@ ~]$ cat /etc/ssh/sshd_config |
パスワード設定系
1 |
[root@ ~]$ cat /etc/login.defs |
PAMモジュール系
1 2 |
[root@ ~]$ cat /etc/pamd.conf [root@ ~]$ cat /etc/pam.d/system.auth |
アクセス制限系
1 2 3 |
[root@ ~]$ cat /etc/hosts.allow [root@ ~]$ cat /etc/hosts.deny [root@ ~]$ cat /etc/hosts.equiv |
ついでに
コマンド結果をファイルに出力するシェルを書いてみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#!/bin/sh cmdout (){ #カレントディレクトリ設定 DIR=$(cd $(dirname $0); pwd) #コマンドをファイル名にする、置換処理 file=${1// /_} file=${file//|/_} file=${file//\*/_} file=$DIR/${file//\//_}.txt cmdname="$1" cmd="echo \"$cmdname\"$'\n' > $file && $1 2>&1 | cat >> $file" eval $cmd return } #バージョン系 cmdout "cat /etc/redhat-release" cmdout "uname -a" cmdout "rpm -qa | grep kernel" #ユーザー系 cmdout "cat /etc/passwd" cmdout "cat /etc/shadow" cmdout "cat /etc/group" cmdout "cat /etc/sudoers" cmdout "cat /etc/securetty" cmdout "cat /etc/ssh/sshd_config" #パスワード設定系 cmdout "cat /etc/login.defs" #PAMモジュール系 cmdout "cat /etc/pamd.conf" cmdout "cat /etc/pam.d/system.auth" #アクセス制限 cmdout "cat /etc/hosts" cmdout "cat /etc/hosts.allow" cmdout "cat /etc/hosts.deny" |