のマニュアルページにsetfsuid()
は次のように書かれています:
成功すると、以前のfsuidの値が返されます。エラーの場合、fsuidの現在の値が返されます。
私が間違っていなければ、単に「setfsuid() は、 setfsuid() を呼び出す前に設定されていた fsuid 値を常に返します - それが成功したかどうかにかかわらず」と言うことができます。
私の仮定は正しいですか?
もしそうなら、関数がない ことに注意してgetfsuid()
、呼び出しが成功したかどうかを確認するにはどうすればよいですか?
setfsuid()
簡単で醜いハックとして、2回呼び出して2回目の呼び出しの戻り値を使用することしか考えられません...