sử dụng sudo trên các ứng dụng GUI


10

Khi tôi đang sử dụng kubfox, tôi luôn có thể mở các ứng dụng X bằng sudo sudo kate. Bây giờ tôi đã chuyển sang vòm không hoạt động. Tôi biết tôi đã luôn được yêu cầu sử dụng kdesu, nhưng cài đặt nào có trong kubfox cho phép tôi sử dụng sudo trên các ứng dụng X ngăn tôi thực hiện điều đó trên vòm?

Chỉnh sửa :
Xin lỗi, tôi đã làm cho mình những gì tôi ghét rất nhiều> _ <

Đây là những gì tôi đang cố gắng làm:

[falmarri @ falmarri-z-arch Tải xuống] $ sudo kate
Mật khẩu: 
Không có giao thức được chỉ định
kate: không thể kết nối với máy chủ X: 0,0

Lưu ý đây chỉ là phiên thiết bị đầu cuối thông thường sử dụng konsole, tôi không sử dụng SSH

/ etc / sudoers :

## tập tin sudoers.
##
## Tập tin này PHẢI được chỉnh sửa bằng lệnh 'visudo' với quyền root.
## Việc không sử dụng 'visudo' có thể dẫn đến lỗi cú pháp hoặc quyền truy cập tệp
## ngăn sudo chạy.
##
## Xem trang man sudoers để biết chi tiết về cách viết tệp sudoers.
##

##
## Thông số bí danh máy chủ
##
## Nhóm máy. Chúng có thể bao gồm tên máy chủ (tùy chọn có ký tự đại diện),
## địa chỉ IP, số mạng hoặc nhóm net.
# Host_Alias ​​WEBSERVERS = www1, www2, www3

##
## Đặc tả bí danh người dùng
##
## Nhóm người dùng. Chúng có thể bao gồm tên người dùng, uids, nhóm Unix,
## hoặc nhóm net.
# User_Alias ​​ADMINS = millert, dowdy, mikef

##
## Cmnd đặc tả bí danh
##
## Các nhóm lệnh. Thường được sử dụng để nhóm các lệnh liên quan với nhau.                                                               
QUY TRÌNH # Cmnd_Alias ​​= / usr / bin / đẹp, / bin / kill, / usr / bin / renice, \                                                             
# / usr / bin / pkill, / usr / bin / đầu                                                                             

##                                                                                                                                   
## Thông số mặc định                                                                                                            
##                                                                                                                                   
## Bạn có thể muốn giữ một số biến môi trường sau                                                                  
## khi chạy lệnh qua sudo.                                                                                                   
##                                                                                                                                   
## Cài đặt ngôn ngữ                                                                                                                   
# Mặc định env_keep + = "LANG NGÔN NGỮ LINGUAS LC_ * _XKB_CHARSET"                                                                     
##                                                                                                                                   
## Chạy các ứng dụng X thông qua sudo; HOME được sử dụng để tìm                                                                         
## .Xmasterity tập tin. Lưu ý rằng các chương trình khác sử dụng HOME để tìm                                                                      
## tệp cấu hình và điều này có thể dẫn đến sự leo thang đặc quyền!                                                                    
 Mặc định env_keep + = "HOME"                                                                                                         
##                                                                                                                                   
## Cài đặt đường dẫn tài nguyên X11                                                                                                        
 Mặc định env_keep + = "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"                                                              
##                                                                                                                                   
## Cài đặt đường dẫn trên màn hình                                                                                                             
 Mặc định env_keep + = "QTDIR KDEDIR"                                                                                                 
##                                                                                                                                   
## Cho phép các lệnh chạy sudo để kế thừa phiên ConsoleKit của người gọi
# Mặc định env_keep + = "XDG_SESSION_COOKIE"
##
## Uncomment để kích hoạt các phương thức nhập đặc biệt. Chăm sóc nên được thực hiện như là
## điều này có thể cho phép người dùng lật đổ lệnh đang chạy qua sudo.
 Mặc định env_keep + = "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
##
## Uncomment để cho phép ghi nhật ký đầu ra của lệnh, ngoại trừ
## sudoreplay và khởi động lại. Sử dụng sudoreplay để phát lại các phiên đã đăng nhập.
# Mặc định logDefput
# Mặc định! / Usr / bin / sudoreplay! LogDefput
# Mặc định! / Usr / local / bin / sudoreplay! LogDefput
# Mặc định! / Sbin / khởi động lại! LogDefput

##
## Đặc tả bí danh của Runas
##


Mặc định: falmarri timestamp_timeout = 10

##
## Đặc tả đặc quyền người dùng
##
root ALL = (ALL) ALL

## Uncomment cho phép các thành viên của bánh xe nhóm thực hiện bất kỳ lệnh nào
% bánh xe TẤT CẢ = (TẤT CẢ) TẤT CẢ

## Điều tương tự không có mật khẩu
#% bánh xe TẤT CẢ = (TẤT CẢ) NOPASSWD: TẤT CẢ

## Uncomment cho phép các thành viên của nhóm sudo thực thi bất kỳ lệnh nào
#% sudo ALL = (TẤT CẢ) TẤT CẢ

## Uncomment cho phép bất kỳ người dùng nào chạy sudo nếu họ biết mật khẩu
## của người dùng họ đang chạy lệnh dưới dạng (root theo mặc định).
# Mặc định targetpw # Yêu cầu mật khẩu của người dùng đích
# ALL ALL = (ALL) ALL # CẢNH BÁO: chỉ sử dụng điều này cùng với 'Mặc định targetpw'

## Đọc tệp thả xuống từ /etc/sudoers.d
## ('#' ở đây không cho biết nhận xét)
#includedir /etc/sudoers.d


Xác định "không hoạt động". lỗi gì bạn nhận được? Bạn đã thiết lập sudođúng chưa? Bạn có thể bắt đầu các ứng dụng không phải GUI bằng cách sử dụng sudokhông?
sepp2k

ps. bạn cũng có thể thử một ứng dụng có tên suxcơ bản là "su với X"
xenoterracide

Câu trả lời:


6

Đây trông giống như một cấu hình có chủ ý trong Arch Linux. Xem điều này để thảo luận với các liên kết đến các giải pháp.

Mẹo tốt nhất dường như là thêm "HIỂN THỊ XAUTHORITY" vào mặc định "env_keep" /etc/sudoers.

Fedora có /etc/sudoersnhững điều sau đây và điều này cho phép sudo somexapp thành công.

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"

Tôi đã đọc tệp / etc / sudoers và nó đã đề cập đến thực tế rằng đây là một tính năng. Tôi không chú ý đến những dòng nó nói với tôi nhưng nó vẫn không hoạt động. Tôi đã đăng tập tin / etc / sudoers trong câu hỏi của mình.
Falmarri

Tôi đã thêm các cài đặt Fedora vào câu trả lời của mình. Tôi nghĩ rằng bạn vẫn bỏ lỡ HIỂN THỊ và XAUTHORITY trong tệp được đăng của bạn.
fschmitt

Trên thực tế nó dường như làm việc bây giờ. Tôi không chắc chắn nếu tôi quên không lưu hay cái gì đó. Cảm ơn =]
Falmarri

9

Các chương trình đồ họa không nên chạy với sudo. Cách chính xác là sử dụng kdesudotrong KDE để chạy các chương trình GUI dưới dạng root hoặc gksutrong Gnome.

Chạy các chương trình đồ họa với quyền root có khả năng gây ra các vấn đề nghiêm trọng, đó là lý do tại sao các trình bao bọc được cung cấp. Đọc chủ đề danh sách gửi thư Arch này cho một vấn đề nghiêm trọng mà bạn có thể gặp phải khi cố gắng sudokhởi chạy một ứng dụng GUI.


Tôi bối rối không biết chủ đề đó đang nói gì. Có phải nó chỉ là một vấn đề khi chạy X với quyền root? Tôi chưa bao giờ gặp sự cố khi chạy sudo từ phiên X
Falmarri

3
Chạy các ứng dụng GUI với quyền root bằng sudo có thể có khả năng thay đổi các tệp được sở hữu bởi root. Một tập tin đặc biệt khó chịu này có thể xảy ra là ~/.ICEauthority. Điều này có thể ngăn bạn đăng nhập. Google "ICEmasterity" và bạn sẽ thấy rằng kết quả có đầy những người không thể đăng nhập vào hệ thống của họ vì tệp đã được sở hữu bởi root. Tôi chỉ chọn cái đó như trên Arch, hệ điều hành của người dùng.
andrews Something
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.