各新しいファイルが常に同じグループ所有権を持つようにディレクトリを構成します。

各新しいファイルが常に同じグループ所有権を持つようにディレクトリを構成します。

次のディレクトリがあります

$ ls -al
total 16
drwxr-xr-x  4 root  root    4096 Oct 21 14:50 .
drwxr-xr-x 24 root  root    4096 Oct 21 11:28 ..
drwxrwx---  8 root mygroup 4096 Jan 12  2022 foobar

作成されたすべての新しいファイルがデフォルトでグループfoobarに属するように権限を設定する方法はありますか?mygroup

ベストアンサー1

setgidディレクトリビットの設定は、必要に応じて正確に実行する必要があります(Unixファミリーのオペレーティングシステムおよび/またはファイルシステムがこれをサポートしていると仮定)。

chmod g+s foobar

以降の権限は次のようにする必要があります。

drwxrws---  8 root mygroup 4096 Jan 12  2022 foobar

私が正確に覚えている場合、UnixファミリーツリーのBSDブランチはデフォルトでファイルが作成されたディレクトリグループに基づいて新しいファイルのグループ所有者を設定するために使用されました。一方、SystemVベースのフォークは、ファイルを生成したプロセスのデフォルトグループに基づいてグループの所有権を設定します。

厳密な以前のSysVスタイルでは、コマンドとsgnewgrpグループプロジェクトを実行しているユーザーにとって重要なツールです。ただし、SunOS 4.xとSystem Vリリース4では、システム管理者はディレクトリ内のsetgidビットを使用してそのディレクトリでBSDを使用するか、既存のSysVグループ所有権割り当てスタイルを使用するかを選択できました。

この「ディレクトリへの gid の設定」動作は、Linux を含む Unix ファミリの複数のオペレーティングシステムで採用されています。しかし、一部のオペレーティングシステムではこれを採用していないようです(おそらくBSD側ではSysVブランチの「オプションの動作」はすでに標準的な動作であるためですか?)。ファイルシステムの種類の選択もこの機能の使用可能性に影響を与える可能性があります。

おすすめ記事