sudo와 gksu의 차이가 sudo -i와 sudo -s의 차이와 동일합니까?


26

간의 차이 sudo cmdgksu cmd그 차이와 동일
하여 쉘을 시작 사이 sudo -isudo -s?

... 또는 다른 방법을 넣어,
인가 sudo cmd 와 같은 sudo -i cmd
gksu cmd같은 sudo -s cmd?

편집 : 내가 쓴 우분투 문서 페이지 에서 읽은 내용을 기반으로합니다 .

You should never use normal sudo to start graphical applications as root.  
You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets  
HOME=~root, and copies .Xauthority to a tmp directory. This prevents files  
in your home directory becoming owned by root.  
(AFAICT, this is all that's special about the environment of the started   
 process with gksudo vs. sudo).

"AFAICT은" 정말 나에게 아무것도 그것에 더가 없음을 전체 신뢰를 줄 doen't.


(.. 뒤늦은 업데이트 : 나는 오늘 (2 개월 후) 그의 commemnt를 다음과 같이 테스트했다 :
"이것은 홈 디렉토리의 파일이 루트에 의해 소유되는 것을 방지합니다."
sudo / gksu를 통해 생성 된 모든 파일은 모두 " root "에 의해 소유되었습니다 그룹은 " 루트 "였습니다.)


나는의 일부를 읽은 info sudo과를 발견 -i하고 -s 보이지 는 AS 똑같은 일을 할 AFAICT의 환경 문제를 ...
하지만 난 여기에 내 질문을했습니다, 그래서 나는 .. 과부하를 기록했다.

추신 .. 내 질문은 sudo vs gksu 에 관한 것이 아닙니다
. gksusudo -s 와 동일
합니까? 그렇지 않은 경우 어떻게 다른가요?

답변:


16

gksuX 터미널 에뮬레이터를 실행하지 않고 su를 직접 사용하지 않고도 그래픽 명령을 실행할 수있는 sudo의 그래픽 프론트 엔드입니다. 슈퍼 유저 명령을위한 GTK + 스킨입니다.

따라서 GUI 기반 프로그램을 루트 로 실행하려면 콘솔 프로그램을 루트로 호출하는 데 사용되는 gksu cmd대신을 sudo cmd사용하여 프로그램을 호출하십시오.


1
graphical프론트 엔드 가 무엇을 의미하는지 모르겠습니다 ... GTK 앱은 sudo 또는 gksu를 통해 시작되는지 여부에 관계없이 매우 행복하게 실행되지만 ... 다른 환경에서 프로그램을 실행합니다 ... 내가 질문 한 이유를 지적하기 위해 내 질문에 좀 더 추가 할 것입니다.
Peter.O

2
나는 당신이 무엇을 의미하는지 마침내 이해했습니다 graphical frontend. 나는 항상 실행하는 터미널을 사용 sudo는 / gksu ...하지만, 나는 실행 시도 생각할 수있는 모든 것을 무차별의 정신에 노력 sudo하고 gksuAlt + F2 ... 빙고를 통해! .. sudo공허 속으로 사라졌지 만 gksu기회 graphical forntend
생겨서

추신 .. 방금 새 터미널에서 gksu를 사용해 보았습니다. 암호 대화 상자도 나타납니다. 이전에 보았어야했지만 암호와 만 관련되어 있지만 GUI 대화 상자 라는 사실은 아닙니다. 터미널 명령 ... ( "
알겠습니다

. 더 나아가, 귀하의 답변에 의해 촉진 된 것으로 보입니다 gksu.XAUTHORITY 폴더 가 변경되는 sudo것 같지 않지만 ... (아래 답변에 대한 자세한 내용)
Peter.O

10

sudo -i로그인 환경을 대상 사용자 ( 이 경우 root )로 재설정합니다 . 주로 HOME환경 변수가 변경되므로 대상 사용자 ~/.bashrc가로드됩니다.

gksu따라서 루트 사용자로 sudo -i전환 $HOME하는 것과 같습니다 .


감사합니다 KC .. 나에게 이해하기 시작했습니다 (느리게, 천천히) ...하지만 gksu가 XAUTHORITY의 사본을 생성하고 (?) 그것으로 작업함으로써 gksu가 상당히 분리 된 범주에 놓이는 것이 분명해 보입니다. 의 어떤 sudo내가 언급 한 변종 ...이이되었습니다 실현 아하! 나를위한 순간 ... 결론은 : GUI 앱에 gksu를 사용하는 것입니다! .. 그러나 해결되지 않은 quandry가 하나 더 남아 있습니다. gksu 는 GTK에만 적용 됩니까 , 아니면 KDE GUI 앱을 실행할 때 gksu를 사용하는 것이 좋습니까?
Peter.O

5

이것은 실제로 대답은 아니지만 약간의 관심이있을 수 있습니다 ...
이 su 명령으로 진행되는 작업에 대한 아이디어를 시작하기 시작
했지만 아직은 아직 없습니다 ... 사용 gksu합니다. ... 이것은 나를 위해 이해의 더 많은 여행 ... 그리고 나는 경우 이해하는 wan't gksu유효 konsole하거나 kate, 또는 있어야 내가 KDE의 변형을 사용 kdesu..

방금 시도한 몇 가지 테스트 결과가 있습니다.

From user fred's terminal, launch gnome-terminal

su style   resulting            custom   (ls)   new file
command    prompt               prompt   home   ownership
---------  -------------------- -------  -----  ----------
sudo      .root@DT:~#           fred's   fred   root
gksu       root@DT:/home/fred#  root's   fred   root
sudo -i    root@DT:~#           root's   root   root
sudo -s   .root@DT:~#           fred's   fred   root

이 결과는 Ubuntu Documentation Page에 동의하지 않습니다 .

 This prevents files in your home directory becoming owned by root

업데이트 : sudogksu 호출 터미널에 env대한 XAUTHORITY 변수 가 다릅니다 ( 우분투 문서 페이지 에 언급 됨 ) ..

sudo    #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
sudo -i #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
sudo -s #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
gksu    #### XAUTHORITY=/tmp/libgksu-xR2OGn/.Xauthority   

이것은 내가 질문에서 언급 gksusudo -s명령 과 확실히 같지 않다는 것을 보여줍니다 ... 따라서 내 원래 질문 (아직도 모호한 방식으로)에 대답합니다 ... 그리고 Chris의 대답은 확실히 이것에 대해 열심히 생각하게했습니다! ... 커피가 필요해 !!


3

sudo는 명령 행 앱용, 그래픽 용 gksu / gksudo 용


고마워, 내 질문은 문제에 대한 원래의 이해만큼 명확하지 않을 수도 있습니다 ... 나는 주로 두 가지 명령을 수행하는 데 필요한 구체적인 차이점이 무엇인지 알아 내려고 노력했습니다. 주요 차이점은 gksuXAUTHORITY의 임시 사본에서 작동하는 방식입니다 . XAUTHORITY를 특수하게 처리해야하는 이유에 대한 자세한 내용은 명확하지 않지만 그 동작을 구별하는 주요 사항입니다.sudo
Peter.O
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.