GUI 애플리케이션에서 sudo 사용

GUI 애플리케이션에서 sudo 사용

sudo kate예를 들어, kubuntu를 사용할 때 항상 sudo를 사용하여 X 애플리케이션을 열 수 있습니다. 이제 아치로 전환했으므로 작동하지 않습니다. kdesu를 사용하라는 지시를 받은 것은 알지만, kubuntu의 어떤 설정을 통해 아치에서 이 작업을 수행하지 못하게 하는 X 응용 프로그램에서 sudo를 사용할 수 있습니까?

편집하다:
미안해요 제일 싫은 짓을 했어요>_<

이것이 내가 하고 싶은 일이다:

[falmarri@falmarri-z-arch 다운로드]$ sudo kate
비밀번호:
프로토콜이 지정되지 않았습니다.
Kate: X 서버에 연결할 수 없습니다: 0.0

이것은 konsole을 사용하는 일반 터미널 세션일 뿐이며 SSH를 사용하지 않습니다.

/etc/sudoers:

## sudoers 파일.
##
## 이 파일은 루트로 "visudo" 명령을 사용하여 편집해야 합니다.
## 'visudo'를 사용하지 않으면 구문 또는 파일 권한 오류가 발생할 수 있습니다.
## sudo 실행을 방지합니다.
##
## sudoers 파일을 작성하는 방법에 대한 자세한 내용은 sudoers 매뉴얼 페이지를 참조하세요.
##

##
## 호스트 별칭 지정
##
## 머신 그룹. 여기에는 호스트 이름(선택적으로 와일드카드 포함),
## IP 주소, 네트워크 번호 또는 네트워크 그룹.
# Host_Alias ​​​​WEBSERVERS = www1, www2, www3

##
## 사용자 별칭 지정
##
## 사용자 그룹. 여기에는 사용자 이름, uid, Unix 그룹,
## 또는 넷그룹.
#사용자 별칭 ADMINS = millert, dowdy, mikef

##
## Cmnd 별칭 지정
##
## 명령 그룹. 일반적으로 관련 명령을 그룹화하는 데 사용됩니다.                                                               
# Cmnd_Alias ​​​​PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \                                                             
# /usr/bin/pkill, /usr/bin/top                                                                             

##                                                                                                                                   
##기본사양                                                                                                            
##                                                                                                                                   
## 다음 환경 변수 중 일부를 보존할 수 있습니다.                                                                  
## sudo를 통해 명령을 실행할 때.                                                                                                   
##                                                                                                                                   
## 지역 설정                                                                                                                   
#기본값 env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"                                                                     
##                                                                                                                                   
## sudo를 통해 X 애플리케이션을 실행하면 HOME이 검색됩니다.                                                                         
## .Xauthority 파일. 다른 프로그램에서는 HOME을 사용하여 다음을 찾습니다.                                                                      
## 구성 파일, 이로 인해 권한 상승이 발생할 수 있습니다!                                                                    
 기본값 env_keep += "HOME"                                                                                                         
##                                                                                                                                   
## X11 리소스 경로 설정                                                                                                        
 기본값 env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"                                                              
##                                                                                                                                   
## 데스크탑 경로 설정                                                                                                             
 기본값 env_keep += "QTDIR KDEDIR"                                                                                                 
##                                                                                                                                   
## sudo-run 명령이 호출자의 ConsoleKit 세션을 상속하도록 허용
#기본값 env_keep += "XDG_SESSION_COOKIE"
##
## 특수 입력 방법을 활성화하려면 주석을 제거하세요. 주목해야 할 점
## 이를 통해 사용자는 sudo를 통해 실행되는 명령을 파괴할 수 있습니다.
 기본값 env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
##
## 다음을 제외한 명령 출력 로깅을 활성화하려면 주석 처리를 제거하세요.
## sudo를 재생하고 다시 시작합니다. 녹화된 세션을 재생하려면 sudoreplay를 사용하세요.
#기본 로그 출력
# 기본값! /usr/bin/sudoreplay!log_output
# 기본값! /usr/local/bin/sudoreplay!log_output
# 기본값! /sbin/재부팅 !log_output

##
## Runas 별칭 사양
##


기본값: falmarri timestamp_timeout=10

##
## 사용자 권한 사양
##
루트올=(모두)모두

## 그룹 휠 구성원이 모든 명령을 실행할 수 있도록 하려면 주석 처리를 해제하세요.
%wheel all=(모두) 모두

## 비밀번호가 없는 것과 동일
# %wheel ALL=(ALL) NOPASSWD: ALL

## sudo 그룹 구성원이 모든 명령을 실행할 수 있도록 하려면 주석 처리를 제거하세요.
# %sudo ALL=(모두) 모두

## 비밀번호를 알고 있는 모든 사용자가 sudo를 실행할 수 있도록 주석 처리를 해제하세요.
## 명령을 실행하는 사용자입니다(기본값은 루트).
#기본값 targetpw #대상 사용자의 비밀번호를 묻습니다.
# ALL ALL=(ALL) ALL # 경고: "Defaults targetpw"와 함께만 사용할 수 있습니다.

## /etc/sudoers.d에서 포함된 파일 읽기
## (여기서 "#"은 주석을 의미하지 않습니다)
#includedir /etc/sudoers.d

답변1

그래픽 프로그램은 sudo를 사용하여 실행하면 안 됩니다. 올바른 방법은 kdesudoKDE에서 루트로 GUI 프로그램을 실행하거나 GNOME에서 사용하는 것입니다 gksu.

그래픽 프로그램을 루트로 실행하면 심각한 문제가 발생할 수 있으므로 래퍼가 제공됩니다. 읽다이 Arch 메일링 리스트 주제sudoGUI 응용 프로그램을 속여 실행하려고 할 때 발생할 수 있는 심각한 문제입니다.

답변2

이는 Arch Linux의 의도적인 구성처럼 보입니다.이것 좀 봐토론을 하고 솔루션에 대한 링크를 제공하십시오.

가장 좋은 팁은 /etc/sudoers.

/etc/sudoersFedora에는 sudo somexapp이 성공할 수 있도록 다음과 같은 기능이 있습니다 .

Defaults    env_reset
Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
Defaults    env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults    env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults    env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults    env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"

관련 정보