줄기세포

[.Xauthority 권한 설정] 모든 유저가 추가 조치 없이 x11 forwarding 사용할 수 있도록 환경설정 하는 방법 본문

Linux

[.Xauthority 권한 설정] 모든 유저가 추가 조치 없이 x11 forwarding 사용할 수 있도록 환경설정 하는 방법

줄기세포(Stem_Cell) 2021. 11. 16. 00:15

이전글:

https://novice-data.tistory.com/42

 

[클라우드 개발 환경설정 - GUI] 클라우드 서버에 개발 환경 구성 - 어느 Client PC에서나 같은 환경

KT 클라우드를 이용했습니다. 클라우드 서버에 ssh 접속을 위해서 방화벽 오픈 및 접속설정을 해주셔야 합니다. >> 환경구성을 시도한 이유 1. 클라우드 서버에서 golang을 개발하고 싶다. -> 어느 PC

novice-data.tistory.com

 

 

x11으로 DISPLAY를 어느 유저에서나 사용할 수 있는 방법을 공유해보려 한다. 개발용으로 클라우드 서버에서만 사용하기 때문에 보안을 염두에 두고 하는 방법은 절대 아니다. 나는 root 로그인 정보를 저장하여 로그인 하는게 습관이 되어 이 방법이 편리하다.


1. XAUTHORITY와 MMC

방법 공유에 앞서 xauth file에 쿠키 등록 절차에 대해 설명하자면 ssh session 맺을때 
해당 user의 XAUTHORITY 환경변수의 file에 /bin/xauth가 MMC(MIT Magic Cookie)를 등록한다.

>> XAUTHORITY에 MMC 확인 방법

$ xauth list

OR

$ xauth
xauth> list
서버이름/unix:10  MIT-MAGIC-COOKIE-1  9ee7f75000000000000000000b12e
	# unix:10 에서 10은 디스플레이 번호이다. 0번부터는 로컬 디스플레이, 10번부터는 x11 디스플레이라고 한다.

 

>> 현 세션의 디스플레이 번호 확인방법

echo $DISPLAY 
DISPLAY 환경변수 형식은 [hostname]:[디스플레이번호].[스크린번호]


MMC는 유저 전환시 왜 자동으로 복사가 안될까?

항상 안되는 건 아니다.

일반유저로 ssh 접속하고 root로 로그인하면(sudo su -l) xauth가 root 권한 실행되어 .Xauthority 파일에서 MMC를 복사해갈 수 있지만, 반대로 아래의 경우는 처음 로그인한 유저의 MMC를 복사해가지 못해서 수동으로 설정해줘야 한다.
    1. 일반유저 ssh 접속 -> 다른 일반유저 로그인
    2. root ssh 접속 -> 일반유저 로그인

 

수동으로 등록하거나 .Xauthority 파일을 다른유저의 $HOME/.Xauthority 로 복사하는 방법으로 x11 forwarding을 사용할 수 있다. 성가시다.

>> xauth 수동등록 방법(참고)

$ xauth add 서버이름/unix:10  MIT-MAGIC-COOKIE-1  9ee7f75000000000000000000b12e0

OR

$ xauth
xauth> add 서버이름/unix:10  MIT-MAGIC-COOKIE-1  9ee7f75000000000000000000b12e0


매일 같은 자리(같은 IP, 같은 MAC ID)에서 로그인을 해주면 위 방법을 한번만 해주면 되지만 이동하면서 작업하고 싶다면, 예를들면 카페, 매번 위 과정을 하는게 귀찮다.


이제부터 진짜 .Xauthority 파일 공유 방법

XAUTHORITY 파일을 공유하게 만들어서 어느 계정으로 로그인해도 항상 같은 쿠키를 가지도록 설정했다. 

(보안이 신경없고 나의 클라우드 서버니까 이렇게 한다)

<방법>

$ mkdir /xauth  			#오너쉽은 root
$ chmod 777 /xauth

$ vi ~/.bash_profile		
	export XAUTHORITY=/xauth/.Xauthority 
							# 모든 user에 설정해준다
$ source ~/.bash_profile

위와 같이 유저마다 bash_profile에 적용해주면 모든 유저가 다 같은 .Xauthority 파일을 바라보기 때문에 
어느 유저로 어느 장소에서 로그인을 하더라도 같은 파일에 MMC 값을 등록한다.

이렇게 하면 유저 간 로그인하여도 MMC 등록절차 없이 쉽게 x11 forwarding을 사용할 수 있다.

 

 


xauth에 대해서 이해하고 방법을 찾는데 아래 참조 링크가 정말 큰 도움이 되었다.

참조

https://hyandmj.asuscomm.com/hblog/?p=576 

 

su 이후 X11 접속이 거부당할 때 – H's Blog

Motive 리눅스는 태생이 CLI 환경이고, 여전히 많은 이들이 CLI 환경에서 사용하는 OS이지만 때로는 GUI 환경이 불가피할 때도 있다. RAID 서버의 RAID 구성을 관리하기 위해서 Adaptec 社의 ASM(Adaptec Storage

hyandmj.asuscomm.com

 

Comments