루트 없이 SSH를 통해 원격으로 그놈 세션을 시작할 수 있는 방법이 있습니까?
배경
/dev/cdrom -> /dev/sr0
SSH를 통해 원격 컴퓨터의 CD 드라이브( )에 액세스하려고 합니다 .
원격 컴퓨터에서 Ubuntu 18을 실행 중입니다.
문제는 드라이브 파일( /dev/sr0
)에 쓸 수 있는 권한이 파일 ACL에 다음으로 설정되어 있다는 것입니다.gdm 사용자컴퓨터에 아무도 로그인하지 않은 경우(확인은 을 통해 수행할 수 있습니다 getfacl /dev/sr0
).
사용자가 GNOME을 통해(즉, 직접) 시스템에 로그인하면 해당 사용자와 일치하도록 ACL이 업데이트됩니다.
답변1
X11 전달이 활성화된 SSH 연결을 사용하고 로컬 X11 서버를 실행하는 경우 명령을 사용하여 원격 서버에서 GNOME 세션을 시작할 수 있습니다 gnome-session
.
그러나 CD 드라이브에 액세스할 수 없다는 것을 알게 될 것입니다.
보시다시피 CD 드라이브에 대한 권한이 부여되었습니다로컬로 로그인한 사용자단, 가상 콘솔에서 텍스트 모드로 로그인한 경우에도 마찬가지입니다. GNOME 세션에 있는 사람들만을 위한 것이 아닙니다. 시스템은 차이점을 알게 될 것입니다. ACL 할당은 다음과 같은 방식으로 수행됩니다 udev
. uaccess
장치에 할당된 레이블에 /lib/udev/rules.d/70-uaccess.rules
따라 이 처리를 받을 장치가 결정됩니다.
SSH를 통해 원격으로 로그인할 때 CD 드라이브를 사용하려면 cdrom
사용자 계정에 그룹 멤버십을 할당해야 합니다. 이 작업은 한 번만 수행하면 되지만 루트 액세스가 필요합니다. 예를 들어, 사용자 계정 이름이 다음과 같은 경우 helper
:
sudo usermod -a -G cdrom helper
또는
sudo gpasswd --add helper cdrom
또는
sudo adduser helper cdrom
두 명령 중 하나를 실행한 후 변경 사항을 적용하려면 로그아웃해야 합니다. 다음에 로그인하면 이 그룹의 구성원이 되며 cdrom
(이전에 구성원이었던 그룹에 추가로) 로컬로 로그인했든 원격으로 로그인했든 항상 CD 드라이브에 액세스할 수 있습니다.이것이 바로 이 cdrom
그룹에 관한 것입니다.
비슷한 목적을 가진 다른 그룹은 다음과 같습니다.https://wiki.debian.org/SystemGroups
답변2
MATE 데스크톱에서 전체 화면 해상도보다 낮은 해상도인 :1에서 Xnest를 실행하여 이 작업을 수행합니다. export DISPLAY=:1
그런 다음 ssh -Y user@remotehost mate-session
더 작은 Xnest X "서버" 창에 전체 데스크탑이 표시됩니다. (이 시점에서 Xnest는 X 서버와 X 클라이언트 역할을 모두 수행합니다.)