1
私は自分のMacでsuidのプログラムを作って、そのプログラムが/ bin/shのexecを実行すると、シェルはrootではなく、Linuxで同じことをするとシェルはrootになります。 MacはLinuxと同じように権限を伝播しないのですか?あるいは、何か別のものがありますか?私が理解しているのは、suid rootを持つプログラムはroot権限で実行されるということです。/bin/shを呼び出すルートシェルは別のルートシェルを作成するので、/ bin/shのexecを呼び出すsuidルートプログラムはルートシェルを作成しないでください。Mac OS Xで権限がどのように伝播するのですか?
[setuid](http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/setuid.2.html)を使用して、実際のUIDをrootに変更することができます実行する前に/ bin/sh。 –