ファイル/ディレクトリ生成時にSUIDビットを無視する

ファイル/ディレクトリ生成時にSUIDビットを無視する

ユーザーに属するフォルダにSUIDとSGIDビットを設定しました。金持ちそしてsudo chmod g+s myfoldersudo chmod u+s myfolder

drwsr-sr-x 24 foo www-data 4,0K Okt 25 16:17 myfolder

その後、フォルダを作成し、sudo mkdir xyzフォルダ内のユーザーを上書きし、rootグループは正常に保護されました。

drwxr-sr-x  2 root  www-data 4,0K Okt 25 16:24 xyz

ユーザーは保護されたいので、foo実行後も維持する必要がありますsudo mkdir xyz。何が欠けていますか?

答え1

  • xyz使ってみた結果、あまり問題ないようですsudo
  • もちろん、これはroot代わりに使用する必要があり、次のようにfoo設定する必要があります。chmod g+s myfolderwww-data
  • sudoすべてのコマンドではなく、必要な場合にのみ使用してください。試してみてください。mkdir xyz

答え2

ユーザーの場合、fooSUID / SGIDビットがないと、権限は必要に応じて正しく機能します。

ls -ld myfolder myfolder/xyz
drwxr-xr-x 3 foo www-data 4096 Oct 25 16:00 myfolder
drwxr-xr-x 2 foo www-data 4096 Oct 25 16:00 myfolder/xyz/

SUIDはディレクトリでは機能しないため、ディレクトリはユーザーを所有者として作成されます。 SGIDを使用すると、コンストラクタ/所有者がグループのメンバーではない場合でも、グループは継続して実行されます。

ただし、ターゲットファイルシステムでACLを使用できる場合は、表示されている所有者とグループに関係なく、ユーザーおよび/fooまたはグループメンバーがwww-dataディレクトリにアクセスできるようにすることができます。

関連情報