3.3.3. グループディレクトリの作成

システム管理者は、通常それぞれの主要なプロジェクトごとにグループを作成し、そのプロジェクトのファイルにアクセスする必要がある場合に人をグループに割り当てる傾向があります。こうした従来型のスキームの場合、誰かがファイルを作成すると、ファイルはその人が属するプライマリグループに関連付けられるため、ファイル管理は困難です。1 人が複数のプロジェクトに関わっている場合、正しいファイルを正しいグループに関連付けることは難しくなります。一方で、UPG スキームを使用すると、グループは setgid ビットセットを持つディレクトリ内に作成されたファイルに自動的に割り当てられます。setgid ビットにより、共通のディレクトリを共有するグループプロジェクトを非常に簡単に管理することができます。これは、ユーザーがディレクトリ内で作成するすべてのファイルは、ディレクトリを所有するグループが所有するためです。
例えば、あるグループが /opt/myproject/ ディレクトリ内のファイルで作業する必要があるとします。グループの中にはこのディレクトリのコンテンツの修正を信頼して任せられる人もいますが、全員ではありません。
  1. root としてシェルプロンプトで以下を入力して、/opt/myproject/ ディレクトリを作成します:
    mkdir /opt/myproject
  2. システムに myproject グループを追加します:
    groupadd myproject
  3. /opt/myproject/ ディレクトリのコンテンツと myproject グループを関連付けます:
    chown root:myproject /opt/myproject
  4. ユーザーがディレクトリ内のファイルを作成できるよう、setgid ビットを設定します:
    chmod 2775 /opt/myproject
この時点で、ユーザーが新規ファイルの書き込みをする度に管理者はファイルのパーミッションを変更する必要なく、myproject グループの全メンバーは /opt/myproject/ ディレクトリ内のファイルを作成/編集することができます。パーミッションが正しく設定されていることを確認するには、以下のコマンドを実行します:
~]# ls -l /opt
total 4
drwxrwsr-x. 3 root myproject 4096 Mar  3 18:31 myproject