X 서버가 루트 권한으로 실행되고 있는지 확인하는 방법

X 서버가 루트 권한으로 실행되고 있는지 확인하는 방법

다음은 간단한 문장입니다. X 서버가 루트 또는 사용자로 실행되고 있는지 확인하는 방법/명령이 있습니까?


이것은 재치 있는 말이었지만 아쉽게도... 최근에 Arch Linux 상자를 업그레이드했습니다. 업그레이드 후 X이제 루트 없이도 실행할 수 있다는 말을 들었습니다 . 공식 Arch Linux 페이지를 확인했는데 다음과 같이 나와 있습니다.

systemd-logind의 도움으로 X는 이제 뿌리가 없습니다 [...][1]

이로 인해 X루트 없이 실행되는지 확인하는 방법에 관심이 생겼습니다. 이것이 어떻게 달성될 수 있습니까?

답변1

사용자 ID(UID)를 출력하는 방법에는 여러 가지가 있습니다 ps. 간단한 방법은 다음과 같습니다 -f.

ps -fC X

이는 실행 중인 모든 X 서버에 대한 정보를 제공합니다(하나 이상이 있을 수 있음).

이는 실행 파일이 호출된다고 가정합니다 X. 그러한 프로세스가 없으면 다른 것을 대상으로 지정해야 합니다. 최소한 대문자 X(예: Xorg, X11)가 포함되어 있는 것이 거의 확실하므로 또 다른 접근 방식은 grep으로 필터링하는 것입니다.

ps -o uid,comm -A | grep X

이렇게 하면 열 헤더가 제거되지만 UID는 왼쪽에 있는 숫자입니다. 그렇다면 0프로세스는 루트로 실행되고 있는 것입니다. 아무 결과도 나오지 않으면 시도해 보십시오 ps -fA | grep X. 더 혼란스럽습니다.

X마지막으로 이름에 대문자가 있는 프로세스가 없으면 최소한 또는 와 x같은 제어 명령을 찾을 수 있습니다 . 당신도 그것을 시도해 볼 수 있습니다 . 왜냐하면 디스플레이 관리자는 종종 이름( 등)에 이 단어를 포함하기 때문입니다. 그러나 이들 중 어느 것도 실제로 X 서버가 아니며 서버가 시작되더라도 서버 실행 파일은 일반적으로startxxinitdmgdmxinitsetuid 비트 세트즉, xinit권한이 없는 UID를 사용 하더라도X는 여전히 루트로 실행됩니다.

관련 정보