Linux

【Linux】「/etc/shadow」ファイルとは?

 

「/etc/shadow」ファイルについておしえて下さい。

こんにちはユキトモです。

今回は「/etc/shadow」ファイルについて解説していきます。

この記事でわかること

  • 「/etc/shadow」ファイルの概要が分かります。

「/etc/shadow」ファイル

ひとことで言うと

「パスワードのデータを一般ユーザから見えないようするためのファイル」

です。
 

筆者の環境の例を抜粋して記すと

 /etc/shadow
 
root:$6$q.DUhSu9DMD7UatR$KJIT/ZfZPWgj3qTiJwWATURHGuCvJJo747OXNe5yIXaOTU3GAjbC3TGjJAnbr0EcvfDoz1nCUaqdpKBRXyZ/./::0:99999:7:::
bin:*:18307:0:99999:7:::
(略)
oracle:$6$q.GuSlGN1xD1jYnW$6Ww/qNUAuXK7I/qkxeHl4ua/DgHQceP6UnrI974KMCNK6hDUAJDRmqm198dB03MRO6lfqss/ff7ClkdO7Xj2E0:19329:0:99999:7:::
user01:!!:15500::::::

 
シャドウパスワードの仕組みで利用されます。
 

パスワードのデータを一般ユーザから見えないようするための仕組みです。
 

従来はパスワードは「/etc/passwd」ファイルに記述されていました。
 

ですが、「/etc/passwd」ファイルはOSのユーザであれば誰でも読み取りができます。
 

セキュリティ上良くないので、パスワードを「/etc/shadow」ファイルに格納し、
 
「/etc/passwd」ファイルにはパスワードを記述しないという方法に切り替えられました。
 

「/etc/shadow」ファイルは所有者(通常はroot)以外は読みとることができないようになっています。
 
一般のユーザでは参照できないように権限が設定されています。
 

 

各行は「:」で各情報が区切られています。
 
書かれている意味は
 

第1フィールド ユーザ名
第2フィールド パスワード
第3フィールド パスワードを最後に変更した日
第4フィールド 変更可能最短期間
第5フィールド 未変更可能最長期間
第6フィールド 未変更時警告日
第7フィールド ログインしない場合に無効になる日数
第8フィールド アカウントが失効になるまでの日数
第9フィールド フラグ

 
第2フィールドのパスワードは暗号化されていて、元のパスワードがわからないようになっています。
 
第2フィールドが「*」になっている場合は、パスワードが設定されておらず、
 
そのユーザはログインできません。
 

これは、OSがプログラムを動作させるために作成したユーザなどに使用されます。
 
パスワード欄の頭に「!!」を付けると、「アカウントロック」という状態になります。
 

この場合は、そのユーザはログインできなくなります。
 

アカウントロックの例を記します。

 アカウントロック
 
user01:!!:15500::::::
 

 

アカウントロックは、passwdコマンドに-lオプションを付けることで実現できます。
 

第2フィールドが「!!」だけとなっている場合には、パスワードが未設定ということになります。
 

第4フィールド ~ 第8フィールドは、
 
usermodコマンドやchageコマンドなどを実行することで設定できる内容です。

現在のLinuxOSの多くのディストリビューションでシャドウパスワードを採用しています。
 

ドメイン登録数 国内シェア№1 お名前.com

未経験から最短でエンジニア転職を目指す

【初心者でも安心】たった10分で出来るWordPressブログの始め方



-Linux
-, , , ,