UNIXにおける機密性強化のための手法の一つ。
UNIXではかつて、/etc/passwdに符号化されたパスワードが格納されていたが、このファイルはどのユーザでも(たとえnobodyやwwwというユーザでも)読むことができた。
これでは総当たりでパスワードを解読される危険性があるため、パスワードを/etc/passwdには保存せず、root権限がないと見られない別のファイルに保存することでセキュリティを保つようになった。これがシャドウパスワードである。
元々の/etc/passwdのパスワード欄には*やx等といった無意味な文字を格納しておく。
別途、シャドウファイルと呼ばれるファイルを用意する。これは/etc/passwdと同じ書式で、符号化されたパスワードも格納し、更にroot権限でのみアクセス可能にする。この方式がシャドウパスワードである。
シャドウファイルは、BSDでは/etc/master.passwdだが、System V系UNIXやLinuxでは/etc/shadowとなっている。
単純に/etc/passwdのパーミッションを変更しないのは、過去との互換性のためである(ユーザ情報を/etc/passwdから得るプログラムが多数存在するため)。