Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

37.5. ユーザープライベートグループ

Red Hat Enterprise Linux は、ユーザープライベートグループ (UPG)スキームを使用するため、UNIX グループの管理が容易になります。
新規ユーザーがシステムに追加されるたびに、UPG が作成されます。UPG は作成したユーザーと同じ名前を持ち、そのユーザーが UPG の唯一のメンバーです。
UPG を使用すると、新しく作成されたファイルまたはディレクトリーにデフォルトのパーミッションを安全に設定でき、そのユーザーのユーザーと、そのユーザーのグループの 両方がファイルまたはディレクトリーを変更できるようになります。
新しく作成されたファイルまたはディレクトリーに適用される権限を決める設定は umask と呼ばれ、/etc/bashrc ファイルで設定します。従来の UNIX システムでは、umask022 に設定されています。これにより、ファイルまたはディレクトリーを作成したユーザーのみが変更できるようになりました。このスキームでは、作成者のグループ のメンバーなど、他のすべての ユーザーは変更を加えることはできません。ただし、UPG スキームでは、すべてのユーザーがそれぞれプライベートグループを持つため、このグループ保護は必須ではなくなりました。

37.5.1. グループディレクトリー

多くの IT 組織は、主要なプロジェクトごとにグループを作成し、そのプロジェクトのファイルにアクセスする必要がある場合に、そのグループにユーザーを割り当てます。従来のスキームでは、ファイルの管理は困難でした。誰かがファイルを作成すると、そのファイルが属するプライマリーグループに関連付けられます。1 人のユーザーが複数のプロジェクトで作業する場合、適切なファイルを適切なグループに関連付けるのは困難です。ただし、UPG スキームを使用すると、グループは、setgid ビットが設定されたディレクトリー内に作成されたファイルに自動的に割り当てられます。setgid ビットを使用すると、共通ディレクトリーを共有するグループプロジェクトの管理が非常に簡単です。これは、ユーザーがディレクトリー内で作成するファイルは、ディレクトリーを所有するグループが所有するためです。
たとえば、あるグループが /usr/share/emacs/site-lisp/ ディレクトリーのファイルを作業する必要があるとします。ディレクトリーの変更に信頼されているユーザーもいますが、誰でも信頼されているとは限りません。以下のコマンドのように、emacs グループを作成します。
groupadd emacs
ディレクトリーの内容を emacs グループに関連付けるには、以下を入力します。
chown -R root.emacs /usr/share/emacs/site-lisp
gpasswd コマンドを使用して、適切なユーザーをグループに追加できるようになりました。
gpasswd -a <username> emacs
ユーザーが ディレクトリーにファイルを作成できるようにするには、以下のコマンドを使用します。
chmod 775 /usr/share/emacs/site-lisp
ユーザーが新しいファイルを作成すると、ユーザーのデフォルトのプライベートグループのグループが割り当てられます。次に、setgid ビットを設定します。これは、ディレクトリー自体と同じグループパーミッションをディレクトリー内で割り当てます(emacs)。以下のコマンドを使用します。
chmod 2775 /usr/share/emacs/site-lisp
この時点で、各ユーザーのデフォルトの umask は 002 であるため、ユーザーが新しいファイルを書き込むたびに管理者がファイルのパーミッションを変更しなくても、emacs グループのすべてのメンバーが /usr/share/emacs/site-lisp/ ディレクトリーにファイルを作成および編集できます。