ビットが有効な状態でプログラムを実行したときに奇妙な動作を観察しましたsetuid
。
プログラムはsetuidビットが設定されているユーザーが所有しますfoo
。bar
ユーザーがexecbar
実行foo
foo
動的ライブラリの1つにアクセスできないことを報告します。
問題の動的ライブラリはld.so.conf
通常の検索パスの外にあるディレクトリにあるため、次のようにLD_LIBRARY_PATH
設定されます。execbar
問題は、プログラムを実行するとsetuid
ユーザーが設定した環境が消去されることexecbar
です。
ベストアンサー1
いいえ。ただし、動的リンカーはsetuidで実行すると一部の環境変数を無視します。それ以外の場合は、ターゲットユーザーにすべてのコードをロードして実行させることができます。LD_LIBRARY_PATH
これはLD_PRELOAD
背中に適用されます。バラよりld.so(8)。