setuidなしでsetuidバイナリを一時的に実行しますか?

setuidなしでsetuidバイナリを一時的に実行しますか?

私は現在xpraを設定しており、仮想ドライバを使用してroot以外のユーザーとしてXインスタンスを実行しようとしていますが、システムXorgバイナリはSUIDです。システムは自動的に更新されるため、SUIDではなくバイナリコピーを作成して維持したくありません。また、例えばtmpディレクトリから削除を実行するためにコピーなどのハッキングを使用しないようにしています。これには微妙なセキュリティホールがあるかもしれませんが、本能的に可能であると信じるきちんとした1行にすることを好みます。機能が公開されます)。私が知っている限り、シンボリックリンクは許可ビットマスキング機能を提供しませんが、許可されます。

現在の最良の解決策は、binディレクトリにnosuidバインドマウントを実行することです。これは、トリックを実行しているように見えますが、上記のようにシステムツリー/ fstabに混乱を与えないソリューションを好みます(たとえば、いくつかの魔法の環境変数はnosuidマウントと同じ方法でsuidを無効にするか、suidメカニズムをバイパスします。いくつかのコマンドラインを実行するjutsuを無効にします。

どんなアイデアがありますか?

ベストアンサー1

動的にリンクされている場合は、X次のように動的リンカーを呼び出すことができます。

/lib/ld.so /path/to/X

(あなたのシステムに適応してくださいld.so(例/lib/ld-linux.so.2:)。

例:

$ /lib64/ld-linux-x86-64.so.2 /bin/ping localhost
ping: icmp open socket: Operation not permitted

おすすめ記事