スタックオーバーフローの皆さん、こんにちは。
system("/bin/bash") を使用して bash シェルを呼び出すだけの C プログラムを作成しました。
setuid パーミッション ビットを有効にしてプログラムを実行すると、呼び出されたシェルの euid は 0 に設定されません。
しかし、sudo ln -s /bin/bash /bin/sh を使用して /bin/sh を /bin/bash を指すように変更した場合
次に、/bin/sh を引数としてシステムを実行すると、新しく呼び出されたシェルの euid=0 が設定されます。
私はubuntu 10.04に取り組んでいます
なぜこれが起こるのですか?