ユーザにパスワードが設定されているのか、設定されていないのかを確認する方法を説明します。
確認方法は簡単で、以下のコマンドを実行するだけです。
cat /etc/shadow | grep {確認するユーザ}
実際のユーザを例に説明します。
今回は「ansible」と「awx」ユーザを確認してみます。
[root@localhost home]# cat /etc/shadow | grep ansible ansible:$6$GTUdMVglTEd.x4cG$WdPOTqPWqzCUoNiwZjTKpKvJvpqYoUmnMfo7vmYufqTHyYd3DN1vjE1Zy/xloigQGP39DkLCJRDD0RAZoAr.w1:19029:0:99999:7::: [root@localhost home]# cat /etc/shadow | grep awx awx:!!:19029:0:99999:7:::
コマンドの実行結果の黄色文字部分(第2フィールド)を確認します。
フィールドはコロン[:]区切りなので、第2フィールドは、1つ目のコロンの後ろになります。(各フィールドの説明は後述します)
第2フィールドが「!!」ではなく、暗号化されたパスワードの文字列が表示されている場合は、パスワードが設定されている状態となります。
上記より今回の例における、パスワードの設定状態は以下のようになります。
・ansible ユーザ:パスワードが設定されている
・awx ユーザ:パスワードが設定されていない
各フィールドは以下のような情報を保持しています。
フィールド | 内容 |
---|---|
1 | ユーザ名 |
2 | パスワード(MD5で暗号化されている) 「!!」はパスワード無し |
3 | パスワード変更日 (1970年1月1日からの日数) |
4 | 変更可能日数(パスワードを変更出来るまでの日数) 「0」はいつでも変更可能 |
5 | パスワード有効期限(パスワードを変更しなくてもよい日数) |
6 | 警告(有効期限の〇日前に警告するか) |
7 | ログインしないと無効になる日数 |
8 | アカウント有効期限(アカウント失効までの日数) |
9 | 未使用 |
記事は以上です。あまり使用しないユーザやミドル導入時に作成されたユーザのパスワードの設定状態を確認する際などに使えるかなと思います。
コメント