Linuxのグループ

 Linuxにおけるグループは、ユーザー管理とアクセス制御に重要な役割を果たします。ユーザーはグループという概念の中で、様々な活動やアクセス権の設定を共有するようになっています。

1.グループの基本

 グループは、1つ以上のユーザーをまとめて管理するための仕組みです。Linuxでは、ユーザーは一般的に1つ以上のグループに属しています。それにより、アクセス権の共有やリソースの管理が行われます。

 ユーザーがどのグループに所属しているかは、そのユーザーのアクセス権や特定のリソースへの制御に影響を与えます。各グループには固有の数値ID(GID)が割り当てられ、システム内でユニークです。

2.グループの作成と管理

 新しいユーザーが作成されると、通常はそのユーザー名と同じ名前のグループも同時に作成されます。このグループは、そのユーザーがデフォルトで所属するグループとして扱われます。例えば、ユーザー名が “john” であれば、”john” という名前のグループが作成され、そのユーザー “john” は自動的にこのグループに所属することになります。

 このデフォルトのグループに所属することで、ユーザーは自分のファイルやリソースに対するアクセス権を管理しやすくなります。また、複数のユーザーが同じグループに所属することで、ファイルの共有や共同作業が容易になります。

グループの作成と管理を行うコマンド
  • グループの作成
    groupaddコマンドを使用して新しいグループを作成します。
    例)sudo groupadd mygroup
  • グループの削除
    groupdelコマンドを使用して不要なグループを削除します。
    例)sudo groupdel mygroup
  • グループの表示
    cat /etc/groupgetent group コマンドを使用して、システム内のすべてのグループを表示できます。

3.ユーザーとグループの関連付け

  • ユーザーをグループに追加
    usermod -aG コマンドを使ってユーザーを特定のグループに追加します。
    例)sudo usermod -aG mygroup username
  • ユーザーのグループ表示
    groupsコマンドを使用して、ユーザーが所属するすべてのグループを表示できます。

4.アクセス制御とパーミッション管理

  • ファイル/ディレクトリの所有権とグループ
     ファイルやディレクトリには所有者(ユーザー)と所有グループがあり、グループがファイルへのアクセス権を決定します。
  • パーミッション
     ファイルやディレクトリには、所有者、所有グループ、他のユーザー/グループに対する読み取り、書き込み、実行などのパーミッションがあります。

5.特別なグループ

  • プライマリグループ (Primary Group)
    ユーザーが初めに所属するグループで、新規ファイルやディレクトリのデフォルトの所有グループとなります。
  • 特殊な権限グループ
    sudowheel などの特殊なグループは、特定の権限を持つユーザーに対して制御を提供します。

6.グループの適用と実用性

  • アクセス制御
    ファイルやリソースへのアクセスを管理し、セキュリティと権限管理を強化します。
  • 効率的なリソース共有
    グループを使用することで、複数のユーザーが同じリソースにアクセスしやすくなります。

 Linux のグループは、ユーザーが自分のアクセス権を管理しやすくするだけでなく、複数のユーザーが協力してリソースを共有しやすくする役割を果たしています。これが、Linuxシステムにおけるグループの基本的な役割となります。

 また、Linux のグループは、セキュリティやリソース管理において不可欠な要素であり、ユーザーのグループ所属を適切に管理することで、システムの効率性とセキュリティを確保できます。