この特集のトップページへ
この回のトップページへ

そのほかのセキュリティ関連ファイル/etc/passwd,/etc/shadow

 ユーザー名とパスワードなどが記入されているpasswdファイルは,一般ユーザーでも読むことができることから内部からのクラックの原因となり得る。暗号化された他人のパスワードフィールドを読むことができれば,それをパスワード解読プログラムにかけることによって,比較的容易にパスワードを破ることができてしまうのだ。

 この対策として,ユーザーが他のユーザーの暗号化パスワードを見られないようにするのが「shadowパスワード」だ。最近のLinuxディストリビューションでは,インストール時に標準で暗号化パスワードになるため,メジャーな形式だといえる。shadowパスワードでは,暗号化されたパスワードフィールドをpasswdファイルと分離して保管するため,一般ユーザーからは見られないようになっている(暗号化されたパスワードフィールドはshadowと呼ばれるファイルに保存される)。

OS別のパスワードファイル

OS passwordファイル shadowファイル
Linux /etc/passwd /etc/shadow
FreeBSD /etc/passwd /etc/master.passwd
Solaris /etc/passwd /etc/shadow

 次は,Linuxのファイル例だ。通常のパスワードファイルの場合,passwd内の第二フィールドに暗号化されたパスワードが格納されている。

% ls -l /etc/passwd /etc/shadow
-rw-r--r-- 1 root  root   1078 Apr 29 05:33 /etc/passwd
-r-------- 1 root  root   929 Apr 29 05:33 /etc/shadow
%

暗号化されていないpasswdファイル例

satoshi:NSlJGwNVtPVVg:501:100:Satoshi Nagayasu:/home/satoshi:/bin/tcsh

shadowパスワードされているpasswdファイル例

satoshi:x:501:100:Satoshi Nagayasu:/home/satoshi:/bin/tcsh

 上記のようにパスワードフィールドが「x」として記述されており,その代わりにshadow ファイル内に次のように記述される。

satoshi:NSlJGwNVtPVVg:11100:0:99999:7:::

 このshadowファイルは管理者以外は読めないため,一般ユーザーがほかのユーザーの暗号化されたパスワードフィールドを読むことができない仕組みだ。なお,このshadow化されたパスワードファイル形式は,OSによって若干の違いがあることも付け加えておこう。

PREV 8/11 NEXT