LoginSignup
6

More than 5 years have passed since last update.

[Ubuntu] /etc/shadow 調べてみた

Posted at

/etc/shadow の読み方初めて知りましたw

/etc/shadow って?

各ユーザのパスワードを暗号化したファイル。
一般のユーザからはリードできず、スーパーユーザでないと閲覧ができません。

# : がデリミタ
user:$6...:16180:0:99999:7:::

読み方は以下の通りです。

フィールド 意味
ユーザ名(ログイン名)
暗号化されたパスワード
パスワードの最終変更日
変更可能最短期間(この期間を越えないと変更不可)
未変更可能最長期間(この期間を越えたら変更必要)
警告日(上記期日の何日前に警告するか)
インアクティブ(ログインしないと無効になる日数)
失効日(アカウント失効までの日数)
フラグ(未使用)

2. 暗号化されたパスワード

この文字列の先頭にが付いているか、全体が!になっているとパスワードがロックされた状態で、そのユーザでログインができない状態を示しています。

実際にユーザのパスワードをロックするためのコマンドは以下の通りです。

# passwd -l user1

ロックを解除するためには、オプションを変えてください。

# passwd -u user1

/etc/shadowからも!が削除されます。

3. パスワードの最終更新日

文字通り、該当ユーザのパスワードの最終更新日を指します。
この数字、1970年からの通しの日付が入るので、そのままだと読み取れません。

西暦に直すためには、以下のようにします。

$ echo "16290 * 86400" | bc | xargs -i% date --date=@%
=> Sun Apr 20 09:00:00 JST 2014

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6