Linuxユーザーをグループから削除する方法

ユーザーは、Linuxの1つのプライマリグループと1つまたは複数のセカンダリ(補足)グループのメンバーになることができます。 ファイル ‘/ etc / group’は、Linuxシステムの各ユーザーのグループメンバーシップを定義します。

このチュートリアルでは、Linuxでグループからユーザーを削除する方法を学習します。 2つの方法を使用し、「/ etc / group」ファイルから削除してユーザーをグループから手動で削除する方法も示します。

Linuxユーザーの作成

このチュートリアルでは、「testuser」という名前のユーザーを作成します。 新しいユーザーが作成されると、そのユーザーと同じ名前の新しいプライマリグループも作成されます。

次のコマンドを発行して、新しいユーザーを作成します。

$ sudo useradd -m testuser

これで、そのユーザーのパスワードを作成できます。

$ sudo passwd testuser
Changing password for user testuser.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.

ユーザー名と同じパスワードを使用したので、パスワードに何らかの形でユーザー名を含めるべきではないという警告が表示されました。

グループへのユーザーの追加

まず、次のようにgroupaddコマンドを使用して2つの新しいグループを作成します。

$ sudo groupadd testgroup1
$ sudo groupadd testgroup2

次に、上記で作成した2つのグループに「testuser」ユーザーを追加し、次のコマンドを使用して「root」グループにも追加します。

$ sudo usermod -a -G root testuser
$ sudo usermod -a -G testgroup1 testuser
$ sudo usermod -a -G testgroup2 testuser

では、「/ etc / group」ファイルを見て、「testuser」が3つのグループすべてのメンバーであることがわかります。

$ cat /etc/group
root:x:0:testuser
.............
testuser:x:1001:
testgroup1:x:1002:testuser
testgroup2:x:1003:testuser

ユーザーが属するグループを確認する

次のように、2つの代替方法を使用して、ユーザーがどのグループに属しているかを確認することもできます。

$ groups testuser
testuser : testuser testgroup1 testgroup2 root

$ id -nG testuser
testuser testgroup1 testgroup2 root

ご覧のとおり、出力は非常に似ており、これらのコマンドは同じことを実行します。

usermodを使用してグループからユーザーを削除する

usermodコマンドを使用して、1つまたは複数のグループからユーザーを一度に削除できます。 usermodを使用して、ユーザーを保持するセカンダリグループを指定する必要があります。 example。

$ groups testuser
testuser : testuser testgroup1 testgroup2 root

「testgroup1」および「testgroup2」グループからユーザー「testuser」を削除するには、以下のコマンドを実行します(つまり、「root」グループとそのプライマリ「testuser」グループにのみtestuserを残します)。

$ sudo usermod -G root testuser

Results
$ groups testuser
testuser : testuser root

したがって、ユーザーをより多くのグループに保持するには、次のように、グループ名をコンマ(、)で区切って指定する必要があります。

$ sudo usermod -G root,testgroup1 testuser

Results
# groups testuser
testuser : testuser root testgroup1

gpasswdを使用してグループからユーザーを削除する

同様の結果を達成する別のコマンドはgpasswdです。 usermodとは異なり、このコマンドを使用して、指定したグループからユーザーを削除します。
1つの特定のグループからユーザーを削除するには、gpasswdコマンドを使用できます。

$ sudo gpasswd -d testuser root
Removing user testuser from group root

$ groups testuser
testuser : testuser testgroup1 testgroup2

$ sudo gpasswd -d testuser testgroup1
Removing user testuser from group testgroup1

$ groups testuser
testuser : testuser testgroup2

グループからのユーザーの削除(手動)

ファイル ‘/ etc / group’を手動で編集して、グループからユーザーを削除することもできます。 この方法の効果は、再起動時にユーザーに適用されます。

お気に入りのテキストエディタを使用して、「/ etc / group」ファイルを編集できます。

$ cat /etc/group
.............
sssd:x:993:
sshd:x:74:
chrony:x:992:
vagrant:x:1000:
slocate:x:21:
vboxsf:x:991:
testuser:x:1001:
testgroup1:x:1002:testuser
testgroup2:x:1003:testuser

$ groups testuser
testuser : testuser testgroup1 testgroup2 root

最後の2つのエントリを手動で編集して、testuserを削除し、testgroup1とtestgroup2から削除します(編集したファイルは次のようになります)。

$ cat /etc/group
.............
sssd:x:993:
sshd:x:74:
chrony:x:992:
vagrant:x:1000:
slocate:x:21:
vboxsf:x:991:
testuser:x:1001:
testgroup1:x:1002:
testgroup2:x:1003:

再起動後に変更が行われ、ユーザーは次の2つのグループから削除されました。

$ groups testuser
testuser : testuser root

結論

このチュートリアルでは、usermod、gpasswdを使用してユーザーをグループから削除する方法と、「/ etc / group」ファイルからユーザーを手動で削除する方法を学習しました。

これらの手順は、Ubuntu、CentOS、 Fedora と他の多く。 ご不明な点がございましたら、下のコメント欄でお知らせください。