A diferença entre sudo e gksu é igual à diferença entre sudo -i e sudo -s?

26

É a diferença entre sudo cmd e gksu cmd , o mesmo que a diferença
entre iniciar um shell com sudo -i e sudo -s ?

... ou dito de outra forma,
sudo cmd é o mesmo que sudo -i cmd
e gksu cmd o mesmo que sudo -s cmd ?

EDIT: Baseado no que eu li em uma Página de Documentação do Ubuntu onde diz:

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).

O "AFAICT" não me dá total confiança de que não há nada além disso.

(.. um tardio UPDATE : Eu testei sua commemnt hoje (2 meses depois) sobre:
"Isso impede que os arquivos em seu diretório pessoal se tornem propriedade do root." > Todos os arquivos que eu criei via sudo / gksu eram todos propriedade de " root ", e o grupo era " root ".)

Li partes do info sudo e notei que -i e -s parecem estar fazendo a mesma coisa que a questão do ambiente AFAICT . ..
mas eu bati sobrecarga .. então eu fiz a minha pergunta aqui.

PS .. Minha pergunta não é sobre sudo vs gksu
.. É mais sobre: gksu é o mesmo que sudo -s
.. e se não, como eles diferem?

    
por Peter.O 06.11.2010 / 22:02

4 respostas

16

gksu é basicamente uma interface gráfica para o sudo que permite que o comando gráfico seja executado sem a necessidade de executar um emulador de terminal X e usar o su diretamente. É efetivamente apenas um skin GTK + para os comandos de superusuário.

Portanto, se você quiser executar um programa baseado em GUI como root, invoque-o com gksu cmd , em vez de sudo cmd , que é usado para invocar programas de console como raiz.

    
por Chris Wilson 06.11.2010 / 22:30
10

sudo -i redefine o ambiente de login para o usuário alvo ( root , neste caso). Principalmente, é que a variável de ambiente HOME é alterada, o que significa que o usuário do destino ~/.bashrc está carregado.

gksu é, portanto, como sudo -i em que é comutador $HOME para o usuário raiz .

    
por Kees Cook 07.11.2010 / 07:13
5

Esta não é realmente uma resposta, mas pode ser de algum interesse ...
Estou começando a ter uma ideia do que acontece com esses comandos su,
mas ainda não cheguei lá ... Eu uso gksu ... Esta é mais uma jornada de compreensão para mim ... e eu não quero entender se gksu é válido para konsole ou kate ou deve Eu uso a variante do KDE kdesu ..

Aqui estão alguns resultados de alguns testes que acabei de testar.

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

Estes resultados não concordam com a Página de Documentação do Ubuntu , onde diz:

 This prevents files in your home directory becoming owned by root

UPDATE: As variáveis XAUTHORITY env para os Terminais Invocados sudo e gksu são diferentes (como mencionado na Página de Documentação do Ubuntu ) ..

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   

Isso mostra que gksu definitivamente não é o mesmo que o comando sudo -s que mencionei na pergunta ... e, portanto, responde à minha pergunta original (de alguma forma ainda obscura) ... e a resposta de Chris certamente me pensando muito nisso! ... eu preciso de um café !!

    
por Peter.O 07.11.2010 / 01:13
3

sudo é para aplicativos de linha de comando, gksu / gksudo para aplicativos gráficos

    
por karthick87 07.11.2010 / 05:47