sudoとgksuの違いは、sudo -iとsudo -sの違いと同じですか?


26

間の差であるsudo cmdgksu cmd、違いと同じ
でシェルを起動する間sudo -iとはsudo -s

...または、別の言い方をすれば、
ですsudo cmd と同じsudo -i cmd
gksu cmd同じsudo -s cmd

編集:Ubuntuのドキュメントページで私が読んだ内容に基づいています:

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。


(..A遅ればせながらUPDATE:私が彼のcommemnt今日(2ヶ月後)をテストした:
「あなたのホームディレクトリにこれを防止ファイルはrootの所有になってきて、」
すべてがsudoを/ gksuのすべて「が所有していた介して、私が作成したファイルのルート」、およびグループは「ルート」でした。)


私はの部分を読んだinfo sudoと気づいた-i-s 思えると同じことやってAFAICTの環境問題を...
しかし、私はここに私の質問をしてきましたので、私は..過負荷を打ちます。

PS ..私の質問はsudogksuの関係ではありません
。それは、gksusudo -sと同じ
ですか。

回答:


16

gksu基本的には、sudoのグラフィカルフロントエンドであり、X端末エミュレータを実行せずにsuを直接使用することなくグラフィカルコマンドを実行できます。これは事実上、スーパーユーザーコマンド用のGTK +スキンにすぎません。

したがって、GUIベースのプログラムをルートとして実行する場合はgksu cmdsudo cmdコンソールプログラムをルートとして呼び出すために使用されるでなく、で起動します。


1
graphicalフロントエンドが何を意味するのかわかりません... GTKアプリは、sudoまたはgksu経由で起動されるかどうかに関係なく、非常に楽しく実行されます...しかし、それは異なる環境でプログラムを実行します...(私は質問にさらにいくつか追加して、なぜ質問をしたのかを指摘します
...-Peter.O

2
私は最終的にあなたが意味することを理解しましたgraphical frontend。私はいつもsudo / gksuを実行するためにターミナルを使用します...しかし、考えられるすべてを試す総当たりの精神で、Alt + F2経由で実行しようsudogksuしました...ビンゴ!.. sudoボイドに姿を消したgksuが、機会に立ち上がって(伝説)を見せてくれたgraphical forntend...これはSynaptic Package Managerなどに表示されるダイアログと同じである
...-Peter.O

それがあったとPS ..私だけ新鮮なターミナルでgksuのを試してみました。..パスワードダイアログがポップアップし、あまりにも...私は前にそれを見たが、パスワードに関連付けられている必要があります(のみ)、およびない実際のGUIからダイアログターミナルコマンド...(「なるほど」。盲人は言った:) ...ありがとう
...-Peter.O

。さらに答えて、あなたの答えに拍車をかけgksu、XAUTHORITYフォルダを変更し、そうでsudoはないようです...それが何であるかはわかりませんが、重要なようです!...これは私のジレンマを解決しました... (以下の私の答えの詳細)
Peter.O

10

sudo -iログイン環境をターゲットユーザー(この場合はroot)にリセットします。主に、HOME環境変数が変更~/.bashrcされることです。つまり、ターゲットユーザーがロードされます。

gksuそのため、rootユーザーへのsudo -i切り替えの$HOMEようになります。


KCに感謝します。それは私にとって理にかなっています(ゆっくり、ゆっくり)... sudo私が言及した変種のいずれか...そしてこれがAhaであることを実現しています!私にとっては...結論は次のとおりです。GUIアプリにgksuを使用してください。..しかし、もう1つ未解決の問題が残っています... gksu GTKアプリにのみ適用されますまたはKDE GUIアプリを実行するときにgksuを使用しても問題ありませんか?
Peter.O

5

これは実際には答えではありませんが、興味があるかもしれ ません...
これらのsuコマンドで何が起こっているのかを理解し始め
ていますが、まだそこにはまだありません...を使用していますgksu。 ..これは、私にとって理解の旅です...そして、それgksuが有効かどうkonsolekate、または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

更新:sudoおよびgksuによって呼び出されるターミナルのXAUTHORITY env変数は異なります(Ubuntu Documentation Pageで説明されているように)。

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コマンドとまったく同じではないことを示しています...したがって、私の最初の質問に答えます(まだあいまいな方法で)...そしてクリスの答えは確かに私がこの質問について真剣に考えさせました!...コーヒーが必要です!!


3

sudoはコマンドラインアプリ用、gksu / gksudoはグラフィカルアプリ用


おかげで、私の質問は私の問題の最初の理解と同じくらい不明瞭だったかもしれません...私は主に両方の指揮官を必要とする特定の違いが何かを見つけようとしていました。主な違いは方法gksuXAUTHORITYの一時コピーから作品が..私はXAUTHORITYが特別に処理する必要のある理由の詳細については明らかではないんだけど、からその動作を区別する主要なものであるsudo
Peter.O
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.