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

Linuxでグループを削除する方法–groupdelコマンド

Linuxのgroupdelコマンドは、グループを削除するために使用されます。これは非常に強力なコマンドなので、慎重に使用してください。これは一般的なLinuxコマンドであり、Ubuntu、CentOS、Debian、FedoraなどのすべてのLinuxディストリビューションで使用できます。

groupdelコマンドを使用してLinuxでグループを削除する例をいくつか見てみましょう。

ユーザーのいないLinux削除グループ

たとえば、私はすでにいくつかのグループとテストユーザーを作成しました。ユーザーがいないグループを削除する簡単な例を見てみましょう。

root@localhost:~# getent group test_users1
test_users1:x:1005:
root@localhost:~#
root@localhost:~# groupdel test_users1
root@localhost:~# getent group test_users1
root@localhost:~# 

ユーザーのいるグループの削除

グループtest_usersを作成しました journaldevを追加しました それにユーザー。 getentを使用してこれを確認しましょう およびid コマンド。

root@localhost:~# getent group test_users
test_users:x:1004:journaldev
root@localhost:~# 

root@localhost:~# id journaldev
uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),27(sudo),1004(test_users),1007(test_users_pwd)
root@localhost:~#

このグループを削除するとどうなるか見てみましょう。

root@localhost:~# groupdel test_users
root@localhost:~# id journaldev
uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),27(sudo),1007(test_users_pwd)
root@localhost:~# getent group test_users
root@localhost:~# 

グループが削除され、ユーザーグループリストから削除されます。

groupdelコマンドを使用してシステムグループを削除できますか?

groupdelコマンドを使用してシステムレベルのグループを削除できますか?

sudoを削除してみましょう groupdelコマンドを使用してグループ化し、何が起こるかを確認します。

root@localhost:~# groupdel sudo
root@localhost:~#  id journaldev
uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),1007(test_users_pwd)
root@localhost:~# getent group sudo
root@localhost:~# 

「sudo」ユーザーグループを削除できたようです。ユーザーのスーパーユーザー権限がどうなるか見てみましょう。

root@localhost:~# su - journaldev
journaldev@localhost:~$ 
journaldev@localhost:~$ ls /root
ls: cannot open directory '/root': Permission denied
journaldev@localhost:~$ sudo ls /root
[sudo] password for journaldev: 
journaldev is not in the sudoers file.  This incident will be reported.
journaldev@localhost:~$ 

sudo権限も削除されたようです。これは、「sudo」グループ自体を削除したことから明らかです。

ユーザーのプライマリグループの削除

新しいユーザーを作成すると、同じ名前の新しいグループも作成され、それに割り当てられます。これは、ユーザーのプライマリグループと呼ばれます。

ユーザーのプライマリグループを削除できるかどうか見てみましょう。

root@localhost:~# groupdel journaldev
groupdel: cannot remove the primary group of user 'journaldev'
root@localhost:~#

ヘルプオプションを見て、このエラーメッセージを解決する方法があるかどうかを確認しましょう。

root@localhost:~# groupdel -h
Usage: groupdel [options] GROUP

Options:
  -h, --help                    display this help message and exit
  -R, --root CHROOT_DIR         directory to chroot into
  -f, --force                   delete group even if it is the primary group of a user

root@localhost:~# 

出力には、-fオプションを使用してユーザーのプライマリグループを削除できることが明確に示されています。

root@localhost:~# groupdel -f journaldev
root@localhost:~# id journaldev
uid=1002(journaldev) gid=1003 groups=1003
root@localhost:~# 

ユーザーのプライマリグループを削除することができました。ただし、「gid=1003」は引き続きユーザー情報に表示されます。そのため、この機能の使用例がわかりません。

Linuxgroupdelコマンドの終了値

シェルスクリプトでgroupdelコマンドを使用している場合は、終了値を知って、コマンドが正常に実行されたか、エラーが発生したかを確認することをお勧めします。

終了値 説明
0 成功
2 無効なコマンド構文
6 グループは存在しません
8 ユーザープライマリグループを削除できません
10 グループ情報ファイルを更新できません

結論

Linuxのgroupdelコマンドは非常に強力で、システムグループも削除できます。このコマンドを使用してグループを削除する場合は、元に戻せず、グループに多数のユーザーがいると大きな問題が発生する可能性があるため、特に注意してください。

参照

  • groupdelのマニュアルページ

Linux
  1. Linuxで巨大な(100-200GB)ファイルを削除する方法

  2. LinuxでSuコマンドを使用する方法

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

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

  2. Linuxrmコマンド

  3. Linux「rm」コマンドの例

  1. Linuxでファイルまたはディレクトリを削除(削除)する方法

  2. Linuxでパーティションを削除する方法

  3. LinuxでDisownコマンドを使用する方法