2
setuidビットの動作に一貫性がないのはなぜですか?
私はコードを書きました: // a.c #include <stdlib.h> int main () { system("/bin/sh"); return 0; } コマンドでコンパイル: gcc a.c -o a.out その上にsetuidビットを追加しました: sudo chown root.root a.out sudo chmod 4755 a.out Ubuntu 14.04で一般ユーザーとして実行すると、root権限を取得しました。 Ubuntu 16.04でも、現在のユーザーのシェルを取得しています。 なぜ違うのですか?