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


14

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

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

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

誰でも助けることができますか?


4
ユーザーが4時間を過ぎても既存のログインセッションを開いたままにできますか?ユーザーのパスワードを期限切れにしても、既にログインしているユーザーを追い出すことはありません。SSHセッションを数週間開いたままにしておくことができます。
ワイザード

at / cronjobsやシステムバイナリの変更に頼る代わりに、単純なpamモジュールを作成できる場合もあれば、1つでもある場合もあります(または、pam_timeをフォークしてオプションを追加することもできます)
PlasmaHH

回答:


21

通常、パスワードの有効期限は、ユーザーにパスワードの変更を強制するために使用されます。あなたがしたいように聞こえるのは、アカウントをロックすることです。これは、すべてのログインを防ぎます。

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

例えば:

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

chage -E有効期限は日単位で与えられることを想定しているため、この問題をatジョブで回避します。)


3
それは素晴らしい解決策です。私から+1。
ジェニーD

2
ああ、爆風-このアイデアのように私にも。+1。attedを実行することもできますuserdel。これは、これらのすべての一時アカウントを整理して、永久に持ち歩くことがないという利点があります。
MadHatter

2
実際、これは私の提案よりも優れていると思います。
ジェニーD

passwd -l temp813同じことを達成すると思いますchage -E 0 temp8143
ネイト・エルドリッジ

5
@NateEldredge正確ではありません。passwd -lたとえば、sshキーによるログインや指紋によるログインを防ぐことはできませんchage -E 0
マイケルハンプトン

24

passwdコマンドからsetuidビットを削除すると、rootのみがそれを使用できるようになります。これにより、ユーザーは、有効期限が切れるにパスワードを変更できなくなります。そうしないと、ユーザーはさらに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.

5
エレガントで非常にUNIX。私から+1。@borntohula、よろしければ「ティック」アウトラインをクリックして、この回答を受け入れることを忘れないでください。
マッドハッター

6
これはほとんど機能します。問題はpasswd、システムによってsetuidビットが更新された場合に、それを削除すると取り消されることです。
マイケルハンプトン

3
@MichaelHamptonはい。それを修正するのが、例えばパペットの目的です。また、更新のたびに誰もがシステムの新しいsetuid / setgidビットをチェックしませんか?
ジェニーD

1
@JennyD-おそらくsetuid / setgidビットの変更チェックする必要がありますが、変更することはほとんどありません。
ウォーレン

2
@warren-その文には皮肉のわずかな痕跡があったかもしれません。非常に小さな痕跡。マイナス。
ジェニーD
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.