これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド virtfs-proxy-helper です。
プログラム:
NAME
virtfs-proxy-helper - QEMU 9p virtfs プロキシ ファイルシステム ヘルパー
SYNOPSIS
使用法: virtfs-proxy-helper オプション
DESCRIPTION
QEMU 9p サーバーのパススルー セキュリティ モデルでは、いくつかのファイルを実行するには root 権限が必要です
操作 (任意のモード/uid:gid に対する chown、chmod など)。 途中で問題が XNUMX つあります。
セキュリティモデルを通じて
1) TOCTTOU の脆弱性: サーバー内のシンボリック リンクをたどるとアクセスが可能になる
9p エクスポート パスを超えたファイルに。
2) QEMU を root 権限で実行すると、セキュリティ上の問題が発生する可能性があります。
上記の問題を解決するには、次のアプローチが使用されます。 新しいファイルシステム タイプ「プロキシ」は、
紹介された。 プロキシ FS は脆弱性を保護するために chroot + ソケットの組み合わせを使用します
以下のシンボリックリンクで知られています。 新しいファイルシステムタイプを追加する目的は、
qemu が非 root モードで実行できるようにしますが、ソケット IO を使用して特権操作を実行します。
プロキシ ヘルパー (qemu のスタンドアロン バイナリ部分) は root 権限で呼び出されます。 プロキシ
ヘルパーは 9p エクスポート パスに chroot し、ソケット ペアまたは名前付きソケット ベースを作成します。
コマンドラインパラメータで。 QEMU とプロキシ ヘルパーは、このソケットを使用して通信します。
QEMU プロキシ fs ドライバは、ファイル システム リクエストをプロキシ ヘルパーに送信し、
それからの返答。
プロキシ ヘルパーは、root 権限を保持したまま削除できるように設計されています。
ファイルシステム操作を実行するためにのみ必要な機能。
OPTIONS
次のオプションがサポートされています。
-h ヘルプを表示して終了します
-p|--パス path
プロキシ ファイルシステム ドライバーのエクスポート先のパス
-f|--fd ソケットID
指定されたファイル記述子を qemu プロキシ fs と通信するためのソケット記述子として使用する
乾燥機。 通常、libvirt のようなヘルパーはソケットペアを作成し、fds の XNUMX つを次のように渡します。
パラメータを -f|--fd に設定
-s|--ソケット ソケットファイル
qemu プロキシ fs ドライバーと通信するための名前付きソケット ファイルを作成します
-u|--uid UID -g|--gid ギッド
名前付きソケット ファイルへのアクセスを許可する uid:gid の組み合わせ
-n|--nodaemon
通常のプログラムとして実行します。 デフォルトでは、プログラムはデーモンモードで実行されます
onworks.net サービスを使用してオンラインで virtfs-proxy-helper を使用する