勉強前イメージ
パスワードを暗号化してるかしてないかくらいしかわからん
調査
/etc/passwd とは
linux系のOSでユーザのパスワードやログイン情報を記載したファイルで、CentOS7では以下のように見えています。
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
.....
設定ファイルは一行ずつ記録されていて、 :
で区切られています。
root:x:0:0:root:/root:/bin/bash
であれば以下になります。
- ユーザ名 :
root
- パスワード :
x
- ユーザID :
0
- グループID :
0
- コメント欄 :
root
- ホームディレクトリ :
/root
- ログインシェル :
/bin/bash
また、/etc/passwdの権限は644になります。
一般ユーザにも読み取り権限がないとユーザ名が表示されなかったりします。
/etc/shadow とは
パスワードを一般ユーザに見えないようにするための工夫で、このファイル自体はrootしか読み取り権限がありません。
元々は/etc/passwdに書かれていましたが、誰でも読み取りができてしまいました。
CentOS7では以下のように見えています。
[root@localhost ~]# cat /etc/shadow
root:XXXXXXXXXXX::0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
....
/etc/passwd同様設定ファイルは一行ずつ記録されていて、 :
で区切られています。
root:XXXXXXXXXXX::0:99999:7:::
であれば以下になります。
- ユーザ名 :
root
- パスワード(暗号化されています) :
XXXXXXXXXXX
- パスワードを最後に変更した日 : [空白]
- 変更可能最短期間 :
0
- 未変更可能最長期間 :
99999
- 未変更時警告日 :
7
- ログインしない場合に無効になる日数 : [空白]
- アカウントが失効になるまでの日数 : [空白]
- フラグ : [空白]
また、2のパスワードに頭に !!
を root:!!XXXXXXXXXXX::0:99999:7:::
のようにつけるとアカウントがロックされログインできなくなります。
勉強後イメージ
一般ユーザに見えないようにshadowをつかってるのか・・・・
ちょっと不思議なのか以下のように/etc/shadowをllで見たとき何もついてないように見える
---------- 1 root root 684 5月 26 23:49 /etc/shadow