X11vncを使用して、ユーザーが特定のコンピューターをリモート制御できるようにしようとしています。これは一般的には問題なく機能しますが、実装に問題がある側面が1つあります。特定のユーザーアカウントへのアクセスを制限したいのですが、X11セッションが属するユーザーが別のユーザーです。
したがって、状況は次のとおりです。
問題は、x11vncをrootとして、または現在ログインしているユーザーとしてのみ起動でき、他のユーザーとしては機能しないことです。特定のユーザーにX11セッションへのアクセスを許可する方法はありますか?
Xディスプレイは、接続できるようにするために指定する必要のある「キー」によって保護されています。そのキーは通常、ユーザーの~/.Xauthority
ファイルに保存されます。
他の人のアプリケーション(x11vncなど)が自分のDISPLAYに接続できるようにするには、ユーザーはその人にそのキーを与えるか、自分の~/.Xauthority
ファイルへのアクセスを許可する必要があります。を実行すると、ディスプレイのキーを取得できます。
xauth list "$DISPLAY"
権限(グループ所有権またはACL)を変更することにより、~/.Xauthority
へのアクセスを許可できます。
他のユーザーは、XAUTHORITY
環境変数を介して使用する典拠ファイルを指定するか、~/.Xauthority
を使用して自分のxauth add
に特定のディスプレイにキーを追加できます。 。
Xセッションにアクセスできないためにx11vnc
を起動することさえできないという問題がある場合は、xhost +SI:localuser:other_username
を開始する前に、x11vnc
を使用して他のユーザーにアクセスを許可する必要があります。他のユーザー。
質問のタイトルは、VNCサーバーへのアクセスを制限したいように聞こえます。