RHEL 6.6でユーザーのパスワードポリシーを構成しようとしています。新しく作成したユーザーに、最初のログイン時に初期パスワードを変更するようシステムに要求します。
/ etc / default / useraddでEXPIRE変数を0に設定し、INACTIVEを-1に設定しようとしたが、作成後に新しいユーザーアカウントが期限切れになることに注意してください。これらの変数を使用してユーザーを作成した後のchageコマンドの出力は次のとおりです。
# chage -l foo
Last password change : Feb 22, 2015
Password expires : May 23, 2015
Password inactive : never
Account expires : Feb 22, 2015
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
fooユーザーでログインしようとすると、「アカウントの有効期限が切れています。システム管理者に連絡してください」というメッセージが表示されます。
しかし、[ユーザープロパティ]ウィンドウを開いて[パスワード情報]タブを選択し、[次回ログイン時にパスワードの変更を強制する]をオンにすると、期待どおりの結果になります。新しいユーザーはパスワードの変更を求められます。この場合のchageコマンドの出力は次のようになります。
# chage -l foo2
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 : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
foo2ユーザーでログインすると、パスワードの変更を求められます。
では、2番目のケースのように、作成時にユーザーアカウントパラメータを設定するようにシステムを構成する方法はありますか?
更新
cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=0
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
INACTIVEとコメントしたり、正の値に設定したりしても、アカウントは期限切れですが、パスワードは無効です。
また、マシンにPAMを設定しました。
アップデート2
RHEL 6.2があり、PAMが設定されていないマシンでこれを確認しました。効果は同じです。
EXPIRE=0
で/etc/default/useradd
仕事をする必要があります。私はあなたが試したのを読んだ。コメントのない行を追加できます/etc/default/useradd
か?INACTIVE = -1を指定せずに別の値を指定した場合や、その行をコメント化した場合でもロックされますか?コマンドラインで作成した場合でもアカウントをロックするかどうかを指定できますか。また、別の質問がある場合は、回答が異なる場合は別のページに投稿してください。
adduser
すると、chage
コマンドをに配置できます/usr/local/sbin/adduser.local
。/ etc / shadowのageフィールドを直接0に設定することもできます。useradd
他のコマンドと組み合わせて使用することを目的とした「低レベルユーティリティ」です。
chage -d 0 {user-name}
。