web-dev-qa-db-ja.com

Linuxでパスワードの有効期限をオフにする

DebianとUbuntuでchageを使用することを提案するドキュメントをたくさん見ますが、apt-get update && apt-get install chageはパッケージをインストールしません。例えば、

[email protected]:~/Desktop# apt-get install chage
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package chage

/etc/shadowを編集する必要があることがわかりました。 Linuxがログインごとにパスワードの変更を要求しないように、以下のroot行をどの程度正確に編集する必要がありますか?

[email protected]:~# cat /etc/shadow
root:$6$U.dnAQ2f$FV$/aF23Yn.sq1BYVjinlI9251nAarzqGKES18RxadV5bTakcfCNYAMljUwSaQZYV0r4MttHF0SFO7ebq3E1m/:0:0:99999:7:::

deongが提案したようにルート行を編集しました

root:$6$U.dnAQ2f$FV$/aF23Yn.sq1BYVjinlI9251nAarzqGKES18RxadV5bTakcfCNYAMljUwSaQZYV0r4MttHF0SFO7ebq3E1m/:0:0:::::

ログイン時にパスワードの入力を求められます。

http://www.lifelinux.com/setting-up-password-aging-in-linux/ の指示にも従いました。

[email protected]:/home# chage -m 7 -M 60 -W 7 -I 7 root
[email protected]:/home# chage -m 0 -M 99999 -I -1 root
[email protected]:/home# change -l root
-bash: change: command not found
[email protected]:/home# chage -l root
Last password change                                    : password must be changed
Password expires                                        : password must be changed
Password inactive                                       : password must be changed
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

password must be changedを削除するには何を編集する必要がありますか?私もchage -I -1 -m 0 -M 99999 -E -1 rootをしましたが、役に立ちませんでした。

3
sven
$ man 5 shadow

そのファイルの形式を説明します。そこから引用すると、5番目のフィールドはパスワードの最大有効期間です。

最大パスワード有効期間最大パスワード有効期間は、ユーザーがパスワードを変更する必要がある日数です。

この日数が経過した後も、パスワードは有効である可能性があります。ユーザーは、次にログインするときにパスワードを変更するように求められる必要があります。

空のフィールドは、パスワードの最大有効期間、パスワード警告期間、およびパスワード非アクティブ期間がないことを意味します(以下を参照)。

パスワードの最大有効期間がパスワードの最小有効期間よりも短い場合、ユーザーはパスワードを変更できません。

あなたの場合、あなたはすでにトリガーを押しているので、次のログインですぐにパスワードを変更するためにプロンプ​​トを取り除く必要もあります。もう一度manページを参照してください...

最後のパスワード変更の日付最後のパスワード変更の日付。1970年1月1日からの日数として表されます。

値0には特別な意味があります。つまり、ユーザーは次にシステムにログインするときにパスワードを変更する必要があります。

空のフィールドは、パスワードエージング機能が無効になっていることを意味します。

したがって、3番目のフィールドからゼロも削除する必要があります。そして、それを無効にすると、4番目のものも必要ありません。

したがって、5番目のフィールドを完全に削除して、目的を達成できるはずです。のように

root:$6$U.dnAQ2f$FV$/aF23Yn.sq1BYVjinlI9251nAarzqGKES18RxadV5bTakcfCNYAMljUwSaQZYV0r4MttHF0SFO7ebq3E1m/:::::::

そうは言っても、自分が何をしているのかを100%確信しているのでない限り、このようなファイルを直接編集することは一般的にお勧めしません。

編集:また、chageはUbuntuのpasswdパッケージの一部であるようです。これは、すでにインストールされていると思います。

5
deong