このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】グループの削除:groupdelコマンド

グループの削除:groupdelコマンド

 Linuxシステムにおいて、ユーザー管理と同様にグループの管理も重要な役割を担っています。グループは、ユーザーの集合体として、アクセス権や権限を効率的に管理するための手段ですが、システムの運用に伴い、不要となったグループを削除する必要が生じることもあります。このような場合に使用されるのが、groupdelコマンドです。

 groupdelコマンドは、既存のグループをシステムから完全に削除するために使用されます。このコマンドを使用すると、指定されたグループがシステムから取り除かれますが、そのグループに関連付けられたファイルやディレクトリの所有権は変更されず、そのまま残ります。また、削除するグループが他のユーザーのプライマリグループとして設定されている場合、そのグループは削除できません。したがって、グループを削除する前に、十分な確認が必要です。

groupdelコマンドの概要

 「groupdel」コマンドは、Linuxシステムから既存のグループを削除するためのコマンドです。このコマンドを使用すると、指定したグループがシステムから完全に削除されます。ただし、グループに関連付けられたファイルやディレクトリの所有権は変更されず、そのまま残ります。グループを削除する前に、グループに属するユーザーがいないことを確認する必要があります。削除するグループをプライマリグループにしているユーザーが存在している場合は、そのグループを削除することができません。

コマンドの使用例と解説

1.グループを作成する。

この演習で使用するグループを作成しておきます。

 まず、管理コマンドを実行するために、「su -」コマンドを使って、rootユーザーに切り替えます。

・「su -」コマンドを実行します。

 現在のユーザーから rootユーザーに完全に切り替え、rootユーザーのログインシェルと環境変数を読み込みます。

user01@ubuntu-vm:~$ su -
パスワード: 
root@ubuntu-vm:~# 

・「groupadd audit」コマンドを実行します。

「audit(監査部)」というグループを作成します。

root@ubuntu-vm:~# groupadd audit

2.グループを削除する。

・「grep audit /etc/group」で、「audit」グループに所属するユーザーがいないことを確認します。

root@ubuntu-vm:~# grep audit /etc/group
audit:x:1004:

・「groupdel audit」コマンドを実行します。

 「audit」という名前のグループをシステムから削除します。削除する前に、そのグループに属するユーザーがいないことを確認します。もしそのグループがユーザーのプライマリグループである場合、そのユーザーを他のグループに移動する必要があります。

root@ubuntu-vm:~# groupdel audit

3.グループとユーザーを作成する。

以下のコマンドを実行します。

  • groupadd development」コマンドを実行します。
  • groupadd planning」コマンドを実行します。
  • useradd -g development watanabe」コマンドを実行します。
  • grep development /etc/group」と「grep watanabe /etc/passwd」コマンドを実行して、ユーザー「watanabe」のプライマリグループを確認します。

 グループ「development (開発部)」と「planning(企画部)」を作成します。プライマリグループを「development」とするユーザー「watanabe」を作成します。

root@ubuntu-vm:~# groupadd development
root@ubuntu-vm:~# groupadd planning
root@ubuntu-vm:~# useradd -g development watanabe
root@ubuntu-vm:~# grep development /etc/group
development:x:1004:
root@ubuntu-vm:~# grep watanabe /etc/passwd
watanabe:x:2223:1004::/home/watanabe:/bin/sh

4.ユーザーを別のグループに移動してからグループを削除する。

グループ「development」を削除します。

・「groupdel development」コマンドを実行します。

 削除するグループをプライマリグループにしているユーザーが存在している場合は、そのグループを削除することができません。

ユーザー「watanabe」が「development」をプライマリグループとしています。

root@ubuntu-vm:~# groupdel development
groupdel: ユーザ 'watanabe' のプライマリグループは削除できません。
  • usermod -g planning watanabe」コマンドを実行します。
  • groupdel development」コマンドを実行します。

 「watanabe」ユーザーのプライマリグループを「planning」に変更し、その後で「development」グループを削除します。これにより、「development」グループを削除しても、「watanabe」ユーザーが影響を受けません。

usermod -g planning watanabe
groupdel development

5.ユーザーとグループを削除する。

この演習で作成したユーザーとグループを削除します。

  • userdel -r watanabe」コマンドを実行します。
  • groupdel planning」コマンドを実行します。
root@ubuntu-vm:~# userdel -r watanabe 
userdel: watanabe のメールスプール (/var/mail/watanabe) がありません
userdel: watanabe のホームディレクトリ (/home/watanabe) がありません
root@ubuntu-vm:~# groupdel planning 

まとめ

 「groupdel」コマンドは、Linuxシステムから不要なグループを削除するためのシンプルかつ効果的なツールです。特定のオプションはありませんが、使用前にそのグループに属するユーザーやファイルの管理に注意を払う必要があります。グループを適切に削除することで、システムの整理と管理を効率化できます。