Linuxには、SUID、SGID、およびディレクトリー許可用のスティッキー・ビットがあります。
ファイルまたはフォルダのスティッキービットとSGIDビットについては、私は完全に明確です。
しかし、ディレクトリにSUIDビットを適用するとどうなりますか?
たとえば、ファイルにSGIDビットを適用すると、このファイルで開始されるプロセスは、ファイルを呼び出しているユーザーのプライマリグループではなく、ファイルのグループの実効グループIDを使用します。ファイルにSUIDビットを適用する場合も同様です。所有者を有効なユーザーとして実行します。
これは、たとえばchmod -R 2770 /var/testdir/
などのディレクトリにSGIDビットを適用するとすぐに変更されます。これで、/var/testdir/
内に作成されるすべての新しいファイルとフォルダーは、作成者のプライマリグループが異なっていても、/var/testdir/
と同じグループを継承します。また、サブディレクトリはSGIDビットを継承します。
しかし、ディレクトリにSUIDビットを適用するとどうなりますか?その場合の情報は見つかりませんでした。
また、同じフォルダにSGIDとSGIDビットを適用するとどうなりますか?
GNU Coreutils:Directory SetuidおよびSetgid
27.5ディレクトリとSet-User-IDおよびSet-Group-IDビット
ほとんどのシステムでは、ディレクトリのset-group-IDビットが設定されている場合、新しく作成されたサブファイルはディレクトリと同じグループを継承し、新しく作成されたサブディレクトリは親ディレクトリのset-group-IDビットを継承します。一部のシステムでは、ディレクトリのset-user-IDビットは、新しいサブファイルの所有権と新しいサブディレクトリのset-user-IDビットに同様の影響を及ぼします。これらのメカニズムにより、新しいファイルを共有するためにchmodまたはchownを使用する必要性が減少するため、ユーザーはファイルをより簡単に共有できます。