シャドウパスワード【shadow password】シャドーパスワード
概要

UNIX系OSでは伝統的に、ユーザー名やユーザーID、グループID、ホームディレクトリ、ログインシェルといったアカウント情報を「/etc/passwd」ファイルで管理してきた。このファイルはシステムの各種機能や様々なプログラムが参照するため、システム上の全利用者が読み取れる設定になっている。初期のUNIX系OSでは、このファイル内にハッシュ化されたパスワードも格納されていた。
パスワードはハッシュ関数によって不可逆な値(ハッシュ値)に変換した上で保存されるが、誰でも読み取れる場所にハッシュ値が置かれていると、総当たり攻撃や辞書攻撃によって元のパスワードを割り出される危険が生じる。コンピュータの処理能力が向上するにつれ、この脅威は一層深刻なものとなった。
この問題に対処するために考案されたのがシャドウパスワードである。/etc/passwdからパスワードのハッシュ値のみを取り除き、rootユーザーなど特権を持つプロセスだけが参照できる別ファイルへ移す。移行先はLinuxでは「/etc/shadow」、BSD系OSでは「/etc/master.passwd」が一般的である。シャドウ化された環境では、/etc/passwdのパスワード欄には「x」や「*」などの置き換え文字が入り、認証時にはシステムが自動的にシャドウファイルを参照する。
/etc/shadowが保持する情報はパスワードのハッシュ値だけではない。パスワードの最終変更日や有効期限、変更可能になるまでの日数、失効までの猶予期間といったポリシー情報も合わせて記録される。現在の主要なLinuxディストリビューションではシャドウパスワードが標準で有効になっており、無効化されることはほとんどない。
(2026.6.18更新)