GUIアプリケーションでのsudoの使用


10

kubuntuを使用していたときsudo kate、たとえばsudoを使用してXアプリケーションをいつでも開くことができました。これで、機能しないarchに切り替えました。私はいつもkdesuを使用するように言われてきたことを知っていますが、kubuntuには、sudoをXアプリで使用して、archでそれを実行できない設定がありますか?

編集
すみません、私は自分がそんなに嫌いなことを自分でやった> _ <

これは私がやろうとしていることです:

[falmarri @ falmarri-z-archダウンロード] $ sudo kate
パスワード: 
プロトコルが指定されていません
kate:Xサーバーに接続できません:0.0

これはkonsoleを使用した通常のターミナルセッションであり、SSHを使用していないことに注意してください

/ etc / sudoers

## sudoersファイル。
##
##このファイルはrootとして 'visudo'コマンドで編集する必要があります。
##「visudo」を使用しないと、構文またはファイルのアクセス権エラーが発生する可能性があります
## sudoが実行されないようにします。
##
## sudoersファイルの記述方法の詳細については、sudoersのマニュアルページを参照してください。
##

##
##ホストエイリアス仕様
##
##マシンのグループ。これらには、ホスト名(オプションでワイルドカードを使用)を含めることができます。
## IPアドレス、ネットワーク番号、またはネットグループ。
#Host_Alias WEBSERVERS = www1、www2、www3

##
##ユーザーエイリアス仕様
##
##ユーザーのグループ。これらは、ユーザー名、uid、Unixグループ、
##またはネットグループ。
#User_Alias 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"
##
##コマンドの出力のロギングを有効にするには、コメントを外します。ただし、
## sudoreplayと再起動します。ログに記録されたセッションを再生するには、sudoreplayを使用します。
#デフォルトのlog_output
#デフォルト!/ usr / bin / sudoreplay!log_output
#デフォルト!/ usr / local / bin / sudoreplay!log_output
#デフォルト!/ sbin / reboot!log_output

##
## Runasエイリアス仕様
##


デフォルト:falmarri timestamp_timeout = 10

##
##ユーザー権限指定
##
ルートALL =(ALL)ALL

##グループホイールのメンバーがコマンドを実行できるようにするには、コメントを外します
%wheel ALL =(ALL)ALL

##パスワードなしで同じこと
#%wheel ALL =(ALL)NOPASSWD:ALL

##グループsudoのメンバーがコマンドを実行できるようにするには、コメントを外します
#%sudo ALL =(ALL)ALL

##ユーザーがパスワードを知っている場合、コメントを外してsudoを実行できるようにする
コマンドを実行しているユーザーの##(デフォルトではroot)。
#デフォルトtargetpw#ターゲットユーザーのパスワードを要求
#ALL ALL =(ALL)ALL#警告:これは 'Defaults targetpw'と一緒にのみ使用してください

## /etc/sudoers.dからドロップインファイルを読み取る
##(ここの「#」はコメントを示していません)
#includedir /etc/sudoers.d


「機能しない」を定義します。どのようなエラーが発生しますか?sudo正しくセットアップしましたか?を使用して非GUIアプリを起動できますsudoか?
sepp2k

ps。sux基本的に "su with X" と呼ばれるアプリを試すこともできます
xenoterracide

回答:


6

これはArch Linuxの意図的な設定のように見えます。ソリューションへのリンクとの議論のためにこれ参照してください

最善のヒントは、「DISPLAY XAUTHORITY」をの「env_keep」のデフォルトに追加すること/etc/sudoersです。

Fedoraに/etc/sudoersは以下があり、これにより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"

私は/ etc / sudoersファイルを読みましたが、これが機能であることを述べていました。言われた行のコメントを外しましたが、まだ機能していません。/ etc / sudoersファイルを質問に投稿しました。
Falmarri

回答にFedora設定を追加しました。投稿したファイルのDISPLAYとXAUTHORITYがまだ見当たらないと思います。
fschmitt

実は今は動いているようです。何かを保存するのを忘れたのかどうかはわかりません。ありがとう=]
Falmarri

9

グラフィカルプログラムはsudoで実行しないでください。正しい方法はkdesudo、KDEでrootとしてGUIプログラムを実行するために使用するかgksu、GNOMEで使用することです。

ルートとしてグラフィカルプログラムを実行すると、深刻な問題が発生する可能性があります。そのため、ラッパーが提供されています。このArchメーリングリストスレッドを読んでsudo、GUIアプリを起動するようにだまそうとするときに発生する可能性のある深刻な問題を確認してください。


そのスレッドが何を言っているのか混乱しています。Xをrootとして実行しているときだけ問題ですか?Xセッションからsudoを実行する際に問題が発生したことはありません
Falmarri

3
GUIアプリをrootとしてsudoで実行すると、ファイルがrootによって所有されるように変更される可能性があります。これが起こり得る特に厄介なファイルの1つは~/.ICEauthorityです。これにより、ログインできなくなる可能性があります。Googleの「ICEauthority」を実行すると、ファイルがrootに所有されたためにシステムにログインできないユーザーが結果に表示されます。ユーザーのOSであるArchでそのまま選択しました。
andrewsomething
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.