web-dev-qa-db-ja.com

ユーザーが有効なログインのウィンドウを拡張できないようにする方法

RedHatボックスのセキュリティ強化手順に取り組んでおり、有効期限が切れたユーザーがパスワードを変更できないようにすることができるかどうかを知りたいと思いました。

クライアントの1つについての要件は、一時的なアカウントを通じてのみサーバーにアクセスできる必要があることです。つまり、ユーザーの資格情報が作成されたら、パスワードは4時間以内に期限切れになり、パスワードの期限が切れると、rootだけがそれを変更できるようになります。 。

最初の要件(パスワードが4時間後に期限切れになる)の場合、passwordMaxAge = 1440を設定することで達成できると思います。しかし、パスワードの有効期限をオフにせずに、ユーザーが有効期限が切れたパスワードを変更できないようにする方法を見つけることができませんでした。

誰か助けてもらえますか?

14
born to hula

一般に、パスワードの有効期限は、ユーザーがパスワードを変更するためにforceユーザーに使用されます。あなたがやりたいように聞こえるのはlockアカウントであり、これによりすべてのログインが妨げられます。

代わりに、アカウントを作成するときに、4時間後にアカウントをロックするatジョブも設定することをお勧めします。

例えば:

useradd temp8143
echo chage -E 0 temp8143 | at now + 4 hours

chage -E有効期限は日数で指定されると予想されるため、atジョブでこれを回避します。)

21
Michael Hampton

Passwdコマンドからsetuidビットを削除すると、rootだけがそれを使用できます。これにより、ユーザーはパスワードを変更できなくなりますbefore有効期限が切れます-これは、ユーザーがアカウントをさらに4時間延長する方法になる可能性があります。

[jenny@finch ~] Sudo chmod -s /usr/bin/passwd
[jenny@finch ~]$ passwd
Changing password for user jenny.
Changing password for jenny.
(current) UNIX password: 
New password: 
Retype new password: 
passwd: Authentication token manipulation error

ルートは引き続き任意のパスワードを変更できます。

[jenny@finch ~]$ Sudo passwd jenny
Changing password for user jenny.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
24
Jenny D