다른 사용자가 X11vnc를 사용하여 내 세션에 연결하도록 허용하려면 어떻게 해야 합니까?

다른 사용자가 X11vnc를 사용하여 내 세션에 연결하도록 허용하려면 어떻게 해야 합니까?

사용자가 특정 컴퓨터를 원격으로 제어할 수 있도록 x11vnc를 사용하려고 합니다. 일반적으로 이것은 꽤 잘 작동하지만 구현하는 데 문제가 있는 한 가지 측면이 있습니다. 특정 사용자 계정에 대한 액세스를 제한하고 싶지만 X11 세션은 다른 사용자에게 속해 있습니다.

따라서 상황은 다음과 같습니다.

  • 사용자 A가 컴퓨터에 로그인되어 있습니다.
  • 사용자 B는 셸에서 x11vnc를 수동으로 시작합니다.
  • VNC-클라이언트 V가 어딘가에서 연결됩니다.

문제는 x11vnc를 루트나 현재 로그인된 사용자로만 시작할 수 있다는 것입니다. 다른 사용자처럼 작동하지 않습니다. 특정 사용자가 내 X11 세션에 액세스하도록 허용하는 방법이 있습니까?

답변1

X 모니터는 연결하기 위해 제공해야 하는 "키"로 보호됩니다. 이 키는 일반적으로 사용자의 ~/.Xauthority파일에 저장됩니다.

다른 사람의 응용 프로그램(예: x11vnc)이 그의 DISPLAY에 연결되도록 허용하려면 사용자가 그에게 이 키를 제공하거나 그의 ~/.Xauthority파일에 대한 액세스 권한을 부여해야 합니다. 다음을 수행하여 모니터의 키를 검색할 수 있습니다.

xauth list "$DISPLAY"

~/.Xauthority권한(그룹 소유권 또는 ACL)을 변경하여 액세스 권한을 부여할 수 있습니다.

다른 사용자는 다음을 지정할 수 있습니다.권위 있는 문서환경 변수를 통해 사용 XAUTHORITY하거나 특정 디스플레이 키를 추가하여 사용 ~/.Xauthority합니다 xauth add.

답변2

X 세션에 대한 액세스 권한 부족으로 인해 시작할 수 없는 문제가 있는 경우 x11vnc다른 사용자로 xhost +SI:localuser:other_username시작하기 전에 다른 사용자에게 액세스 권한을 부여 해야 합니다 x11vnc.

그러나 질문 제목은 VNC 서버에 대한 액세스를 제한하려는 것처럼 들립니다.

관련 정보