![SUID/GGUID ファイルが通常読み取り不可能なのはなぜですか?](https://rvso.com/image/1568317/SUID%2FGGUID%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E9%80%9A%E5%B8%B8%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E4%B8%8D%E5%8F%AF%E8%83%BD%E3%81%AA%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
Linux では、ログイン su などの SUID バイナリに読み取り権限が設定されていないことに気付きました。これはなぜでしょうか。何か経緯があるのでしょうか。それとも、ファイルを読み取ることができればデバッガーをアタッチして、任意のコードを実行できるからでしょうか。
答え1
これは私の経験ではないので、どのディストリビューションを使用しているかを記載する価値があるかもしれません。
ルートでない限り、suid バイナリにデバッガーをアタッチすることはできません。
バイナリを読むことで、プログラムの弱点を見つけて悪用することができます。しかし、自分でディストリビューションをダウンロードし、ルート アクセスを持つコンピューターにインストールして、必要に応じてプログラムを検査することもできます。コア プログラムの一部である場合は、ソースを取得してソース レベルで検査することもできます。
したがって、ファイルの内容を隠しても意味がありません。