/etc/shadow 【シャドウファイル】 /etc/master.passwd

概要

/etc/shadow(シャドウファイル)とは、LinuxなどのUNIX系OSで、各ユーザーパスワードを安全に格納するために設けられた設定ファイル。管理者しかアクセスできず、「/etc/passwdファイルからパスワード情報のみを引き抜いて構成されている。

初期のUNIX系OSではユーザーの設定情報などを「/etc/passwdファイルに保管していたが、このファイルはどのユーザーの権限でも読み込みが可能なため、ハッシュ化されたパスワード情報を盗み見てパスワード復元を試みる攻撃手法が問題となった。

そこで、このファイルからパスワード情報のみを引き抜いて、管理者しかアクセス権のないファイルに移したのがシャドウファイルである。Linuxなどでは「/etc/shadow」だが、BSDシステムなどでは「/etc/master.passwd」が用いられる。

書式passwdファイルと似ており、1ユーザーにつき1、各項目を「:」(コロン)で区切って記載する。先頭からユーザー名、ハッシュ化されたパスワード、最終更新日、次回変更可能になるまでの日数、有効期限(過ぎると変更必須)、期限切れの警告日(期限何日前に警告するか)、無効化までの連続非ログイン日数、アカウント失効までの連続非ログイン日数、フラグとなっている。不要な項目は記載しなくて良い(::で空文字列とする)。

パスワードの記録形式

パスワード欄(第2項目)は「$ハッシュ関数$ソルト$ハッシュ」という書式になっており、ハッシュ関数の欄はハッシュ化に用いる計算方式を数字で指定する。と方式の対応関係はシステムによるが、「1」がMD5、「2」または「2a」がBlowfish、「5」がSHA-256、「6」がSHA-512となっていることが多い。

ソルトsalt)はハッシュ関数パスワードと連結して与えるためのランダムな文字列で、パスワードの登録・更新時にシステムが自動生成して付与する。同じパスワードでもソルトが異なると得られるハッシュ値が変わるため、より解読されにくくする効果がある。

パスワード欄は未設定の場合は「*」に、アカウントロックされている場合は先頭が「!!」となる。パスワードがシャドウ化されている場合は元のpasswdファイルパスワード欄(第2項目)に「x」などと記載されるようになる。

(2022.1.18更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる