![su - usrnmは何を得ますか? [閉鎖]](https://linux33.com/image/126285/su%20-%20usrnm%E3%81%AF%E4%BD%95%E3%82%92%E5%BE%97%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
コマンドを使用して、現在のログKonsoleウィンドウでいくつかのプライベートソースプログラムを実行しますsu - usrnm
。これはusrnmで実行されているプログラムとデスクトップ画面を共有することを知っていますが、これは十分に安全ではありません。 usrnmで共有される他の情報は何ですか?クリップボードなど...
答え1
ディストリビューションがクロス X11 GUI アクセスを準備する場合su - <username>
(つまり、su
d ユーザーとして新しい GUI プログラムを正常に開始できる場合)、そのプログラムは X11 ディスプレイ サーバーのセッションへのフル アクセス権を持ちます。これは次のことを意味します。
- プログラム外でもキーストロークとマウスの動きをキャプチャします。見える必要に応じて、目に見えないボーダーのないフルスクリーンウィンドウを開き、すべてのキー/マウスイベントをその下のウィンドウに渡し、すべてをスヌーピングできます。
- GUIセッションのクリップボードにアクセスできます。
- プログラムがX11属性を使用して他のインスタンスを検出して通信する場合、プライベートソースプログラムはその通信を表示して参加できます。
他のすべては、使用しているX11プロトコルの拡張、使用しているデスクトップ環境、およびその他の詳細によって異なります。
クローズ・ソース・プログラムにGUIが必要ない場合は、「ing」su
の後にクローズ・ソース・プログラムを開始する前に、次のようにしてX11アクセスを簡単に取り消すことができます。
$ unset DISPLAY
$ unset XAUTHORITY
$ rm ~usrnm/.Xauthority
残りは、以下を実行して実行する操作に似た端末セッションです。
ssh -x -a usrnm@localhost