数値モードを使用して setuid 権限を消去する

数値モードを使用して setuid 権限を消去する

Ubuntu Linuxにはsetuid bit()が設定されたディレクトリがありますが、drwsr-xr-xこれを無効にしたいと思います。

それも同じですchmod 755(最初の0は「これは8進数です」と解釈されるかもしれませんが)。 setuid ビットをクリアします。しかし、それは終わりました。chmod 0755chmod 00755chmod u-s

setuidビットをクリアする正しい数値パターンは何ですか?

答え1

楽しく。これはGNUを使えば不可能なようですchmod。これは機能です。私のシステムinfoに入り始めると、chmodビットを設定する項目は記号と数値モードを参照し、消去する項目は記号(ug-s)モードのみを参照します。

27.4 ディレクトリとSet-User-IDおよびSet-Group-IDビット

これらの便利なメカニズムは、ディレクトリのset-user-IDおよびset-group-IDビットに依存します。 mkdir 'などのコマンドがディレクトリ内のこれらのビットを頻繁にクリアすると、chmod' and メカニズムがより便利になり、ファイル共有がより困難になります。したがって、「chmod」などのコマンドは、ユーザーがシンボリックモードで特に言及したり、数値モードに設定しない限り、ディレクトリのset-user-IDまたはset-group-IDビットには影響しません。

[...]

これらのビットを設定するには、記号または数値モードで明示的に言及する必要があります。たとえば、次のようになります。

[...]

これらのビットをクリアするには、シンボルモードで明示的に言及する必要があります。たとえば、次のようになります。

[...]

この動作は GNU 拡張です。 POSIXでは、実装がこれらの要求を無視できるようにするため、移植可能なスクリプトはディレクトリ内でこれらのビットを設定または消去する要求に依存しないでください。

関連情報