setuid VS実行許可の設定

setuid VS実行許可の設定

setuidがどのように機能するかを理解しようとしています。これまで私が理解しているように、setuidが適用されたファイルを実行するプロセスは、実際に誰が実行したかに関係なく、ファイル所有者がそのファイルを実行したかのように実行されます。しかし、なぜ誰もが実行権限を設定しないのですか? (結局これが実際に起こっていることだと思います。) おそらくここで明らかなことを逃しているのではないでしょうか?

答え1

はい、あなたは明らかなものを見逃しています。cat(またはls、、、、または他の一般的なプログラム)を実行すると、そのsedプログラムが直接実行さawkれるviため、プログラム/プロセスにはユーザー権限が適用されます。たとえば、setuidプログラムを実行すると、プロセスを変更できるようにルートのpasswdUIDとして実行されます/etc/shadow (自分のUIDとして実行すると、プロセスにアクセスできず、読み取ることもできません)。

関連情報