GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでユーザーをロックおよびロック解除する方法

Linuxでユーザーアカウントをロックおよびロック解除する3つの方法

マルチユーザーLinux環境でユーザーを無効にする理由はいくつか考えられます。おそらく、従業員が組織を離れ、ユーザーを完全に削除する代わりに、アーカイブ目的でアカウントをロックします。

このチュートリアルでは、Linuxコマンドラインでユーザーをロックする3つの方法を紹介します。ユーザーのロックを解除する方法についても説明します。

これらの変更を行うには、次のことを行う必要があることに注意してください rootまたはsudo経由でrootにアクセスできる

方法1:passwdコマンドでユーザーをロックおよびロック解除する

Linuxのpasswdコマンドは、ユーザーアカウントのパスワードを処理します。このコマンドを使用して、ユーザーアカウントをロックすることもできます。

このコマンドは基本的に/etc/passwdファイルで機能します。このファイルは手動で変更できますが、お勧めしません。

passwdコマンドでユーザーをロックするには、次のようにオプション-lまたは–lockを使用できます。

passwd -l user_name

passwdコマンドでユーザーのステータスを確認する

オプション-Sまたは-passwdコマンドのステータスを使用して、ユーザーがロックされているかロック解除されているかを確認できます。

passwd -S user_name

出力の2番目のフィールドを見てください。意味は次のとおりです。

– pまたはPS:パスワードが設定されています(ユーザーのロックが解除されています)
– LまたはLK:ユーザーはロックされています
– nまたはNP:ユーザーはパスワードを必要としません

passwdコマンドの出力例は次のとおりです。

標準P10/14/20190 99999 7 -1

passwdコマンドでユーザーのロックを解除するには、オプション-uまたは–unlock:

を使用できます。
passwd -u user_name

Ubuntuでは、ユーザーのロックとロック解除の両方について、次のような出力が表示されます。

passwd: password expiry information changed

SSH経由のログインはどうですか?

この方法でユーザーをロックすることには大きな問題があります。 / etc / passwdファイルでのみ機能するため、ロックされたユーザーは引き続きSSHキーを介してログインできます(SSHキーを介したログインが設定されている場合)。次のセクションで対処方法を説明します。

方法2:usermodコマンドでユーザーをロックおよびロック解除する

usermodコマンドを使用することもできます。このコマンドは、主にLinuxでユーザーアカウントを変更するために使用されます。 usermodを使用してロックまたはロック解除することにより、ユーザーの状態を変更することもできます。

ユーザーをロックするには、次のように-Lオプションを使用できます。

usermod -L user_name

ユーザーのロックを解除するには、-Uオプションを使用できます:

usermod -U user_name

ユーザーがロックされているかどうかをどのように確認しますか? usermodコマンドは/etc/ passwdファイルでも機能するため、passwd-Suser_nameコマンドを使用してユーザーのステータスを確認できます。

ただし、usermodは/ etc / passwdファイルでも機能するため、ロックされたユーザーは引き続きSSHキーを介してログインできます。それは正しい。しかし、この問題を克服する方法があります。

たとえば、ユーザーのシェルをnologinに変更できます。これにより、ユーザーはシェルにログインできなくなります。

もう1つの方法は、ユーザーをロックして、過去の有効期限を指定することです。過去の日付でアカウントを無効にしてからロックします。

過去の日付が1970-01-02から現在の日付の間にあることを確認してください。

usermod -L --expiredate 1970-01-02 user_name

次のコマンドで元に戻すことができます:

usermod -U --expiredate '' user_name

Linuxでchageコマンドを使用してユーザーをロックする同様の方法があります。次のセクションで見てみましょう。

方法3:chageコマンドでユーザーをロックおよびロック解除する

chageコマンドは、ユーザーパスワードの有効期限情報を変更するために使用されます。これを使用して、特定の日数の非アクティブ状態の後に非アクティブなユーザーを自動的にロックできます。

基本的に、前のセクションでusermodコマンドを使用して行ったことは、次のようなchageコマンドを使用して実行できます。

chage -E 1 username

基本的に、有効期限を1970-01-02に設定しました。あなたはこのような詳細を見ることができます:

[email protected]:~$ sudo chage -l standard
Last password change					: Nov 07, 2019
Password expires					: never
Password inactive					: never
Account expires						: Jan 02, 1970
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

有効期限を削除して、次の方法でユーザーのロックを解除できます。

chage -E -1 username

最後に…

いつものように、Linuxコマンドラインでタスクを実行するにはさまざまな方法があります。ここでは、Linuxでユーザーをロックおよびロック解除する3つの方法を示しました。より良い方法を知っていますか、それともユーザーをロックするためのいくつかのベストプラクティスの提案がありますか?コメントセクションで共有してください。


Linux
  1. LinuxでのChownコマンドとは何ですか?その使用方法

  2. Linuxsuコマンド

  3. UNIX / Linux :ユーザー アカウントをロックまたは無効にする方法

  1. Linux で特定のユーザーに対して特定のコマンドを無効にする方法

  2. コマンドラインから Zimbra アカウントをロックおよびロック解除する方法

  3. Linux でユーザー コマンドを制限する方法

  1. Linuxでusermodコマンドを使用する方法

  2. Linuxでユーザーグループを作成および削除する方法

  3. Linuxでディレクトリとフォルダを削除する方法は?