Diferencias entre gksudo, kdesudo, sudo y su

Spanish Forum

Moderators: tomeu, JCSenar

Post Reply
User avatar
linux123
Level 5
Level 5
Posts: 604
Joined: Thu Sep 03, 2015 6:43 am
Contact:

Diferencias entre gksudo, kdesudo, sudo y su

Post by linux123 » Thu Jun 29, 2017 7:05 am

Este post es una traducción de este otro escrito por xenopeek.

Las diferencias entre estos comandos generan bastantes dudas entre los usuarios. En este post se resumen esas diferencias, basándose en la configuración predeterminada de sudoers para Linux Mint 18.

Lo primero aclarar que gksudo y kdesudo hacen lo mismo, solo que el primero se usa en Cinnamon, Mate y XFCE, mientras que el segundo se utiliza en KDE. Por tanto, deberás emplear uno u otro según tu escritorio.

En general, siempre debes usar gksudo o kdesudo para ejecutar programas gráficos como root. Utiliza sudo y su sólo para programas de línea de comandos. De lo contrario, puede terminar con programas gráficos que cambien la propiedad de los archivos en tu directorio /home a root, lo que puede causar muchos problemas.

NOTA: A partir de la versión 19 (Tara) de Linux Mint, gksudo ya no está disponible debido a un cambio en Ubuntu. Por tanto, si usas esta versión es muy recomendable la lectura del siguiente post de Wibol: Ya no está disponible "gksudo" en Tara.

gksudo, kdesudo y sudo se emplean con tu propia contraseña, siempre y cuando pertenezcas al grupo sudo. Si tu usuario es el primero que creaste al instalar el sistema, pertenecerá a este grupo. Por su parte, su requiere la contraseña del usuario al que vas a cambiar y no necesita ser miembro del grupo sudo para utilizarse. Si utilizas gksudo o kdesudo se te pedirá la contraseña en una ventana gráfica. Por contra, sudo y su piden la contraseña en la terminal (no se ve mientras escribes, esto es una medida de seguridad).

Tras estas aclaraciones, pasamos a resumir las diferencias entre estos comandos:

gksudo y kdesudo establecen $ HOME en el directorio /home del root y establecen $ XAUTHORITY en un nuevo archivo fuera de tu directorio /home (aunque con la misma cookie para comunicarse con el servidor X), por lo que el programa que ejecuta no cambia la propiedad de los archivos en tu directorio /home a root. Sólo un número limitado de variables de entorno, y no funciones ni alias, se conservan al cambiar de usuario de esta manera.

sudo no hace nada de eso y por ello no debe emplearse en programas gráficos, pues estos emplean esas variables de entorno, y solo un número limitado de estas variables de entorno se conservan, no funciones ni alias al cambiar de usuario de esta manera. Dentro de este comando, destacamos:

sudo -i Establece $ HOME en el directorio /home de root y además cambia a ese directorio. Pero al no establecer valor para la variable $XAUTHORITY no debería ser usado para aplicaciones gráficas. Al cambiar de usuario de esta manera, solo se preservan un número limitado de variables de entorno, y no funciones ni alias.
sudo -H Establece $ HOME como directorio /home de root. Tampoco establece $ XAUTHORITY y por tanto tampoco debe usarse con programas gráficos. Sólo un número limitado de variables de entorno, y no funciones ni alias, se conservan al cambiar de usuario de esta manera.

su Establece $ HOME como directorio /home de root, pero de nuevo no se establece $ XAUTHORITY y por tanto tampoco se debe usar para programas gráficos. Todas las variables de entorno (con algunos cambios), pero sin funciones ni alias, se conservan al cambiar de usuario de esta manera.

su - Hace lo mismo que sudo -i, pero empleas tu contraseña como root, aunque repito, no hagas caso a esto si utilizas el usuario creado durante la instalación, ya que tu usuario pertenece al grupo sudo y por tanto no te afecta esta diferencia.

EJEMPLO SOBRE SUDO:
sudo -i Por defecto no precisa de un comando o aplicación que correr y si no lo añadimos cambia de directorio sin más.
sudo -H Necesita de un comando o aplicación que correr, por lo que la sintaxis completa sería: sudo -H [comando]

Así, usando el comando ls para listar un directorio, observamos que uno cambia de directorio y otro no:
sudo -i ls ⇒ mostraría el contenido de /root.
sudo -H ls ⇒ mostraría el contenido de /home/nombredetuusuario.
Last edited by linux123 on Sun Sep 09, 2018 7:07 am, edited 9 times in total.

User avatar
linux123
Level 5
Level 5
Posts: 604
Joined: Thu Sep 03, 2015 6:43 am
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by linux123 » Thu Jun 29, 2017 7:05 am

Nueva traducción, a ver qué sugerencias tenéis :D

User avatar
Ghermain
Level 3
Level 3
Posts: 139
Joined: Fri Nov 30, 2012 8:12 am
Location: Argentina

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by Ghermain » Thu Jun 29, 2017 8:42 am

Gracias, para seguir aprendiendo.
:lol:
Quien no teme preguntar..., ¡Cada día conoce mas! Visita: lapaginadegerman

User avatar
linux123
Level 5
Level 5
Posts: 604
Joined: Thu Sep 03, 2015 6:43 am
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by linux123 » Fri Jun 30, 2017 10:05 am

Ghermain wrote:Gracias, para seguir aprendiendo.
:lol:
Veo que lo has puesto en tu página, ¡gracias! Así llegará a más gente :D

User avatar
JCSenar
Level 10
Level 10
Posts: 3183
Joined: Sat Sep 06, 2014 6:26 pm
Location: Irun, España
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by JCSenar » Fri Jun 30, 2017 10:35 am

Hay que tener cuidado con las traducciones. Tal y como está redactado no entiendo demasiado.

Por ejemplo:
Otherwise you may end up with the graphical programs changing ownership of files in your home directory to root, which can cause lots of issues.
debería traducirse como:
De lo contrario, puedes terminar con programas gráficos que cambian la propiedad de los archivos en tu directorio /home a root, lo que puede causar muchos problemas.
o:
gksudo and kdesudo set $HOME to the home directory of root, and set $XAUTHORITY to a new file outside your home directory (though with the same cookie for communicating with the X server), so the program you run doesn't change ownership of files in your home directory to root. Only a limited number of environment variables, and no functions or aliases, are preserved when changing user this way.
sería:
gksudo y kdesudo establecen $ HOME en el directorio /home de root y establecen $ XAUTHORITY en un nuevo archivo fuera de tu directorio /home (aunque con la misma cookie para comunicarse con el servidor X), por lo que el programa que ejecuta no cambia la propiedad de los archivos de tu directorio /home a root. Sólo un número limitado de variables de entorno, y no funciones ni alias, se conservan al cambiar de usuario de esta manera.
¿Podrías echar un ojo al resto? Gracias.
Image
Si tu consulta ha sido resuelta, por favor, edita tu primer mensaje y añade [SOLUCIONADO] al título. Gracias.

User avatar
JOPETA
Level 15
Level 15
Posts: 5853
Joined: Thu Nov 20, 2014 6:10 am
Location: En un lugar de cuyo nombre no quiero acordarme

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by JOPETA » Fri Jun 30, 2017 11:05 am

Completamente de acuerdo JCSenar, además de extremar los cuidados en la traducción hay un error evidente no es (✔sudo -h sino sudo -H).

Creo que es preferibe mantener los anglicismo/neologismos
gksudo ykdesudo establecen $HOME en el directorio home del root
si no se quiere dar una vuelta para evitarlos
gksudo ykdesudo establecen la variable $HOME en el directorio de superusuario (/root)
En el apartado sudo xenopeek pretende ser deliberadamente machacón por lo que no estoy muy de acuerdo con la simplificación y tampoco la de los apartados sudo -i y sudo -H.
sudo no hace nada de eso y por ello no debe emplearse en programas gráficos, pues estos emplean esas variables de entorno. Solo un número limitado de variables de entorno se conservan, no funciones ni alias al cambiar de usuario de esta manera. Dentro de este comando, destacamos:
  • sudo -i Establece $ HOME en el home del root y además cambia a ese directorio, pero al no establecer (valor para la variable) $XAUTHORITY no debería ser usado para aplicaciones gráficas. Al cambiar de usuario de esta manera, solo se preservan un número limitado de variables de entorno, y no funciones ni alias.
    (...)
.
Mucha gracias por el trabajo Linux123 y a rematar la faena. :wink:
Last edited by JOPETA on Sat Oct 21, 2017 11:17 am, edited 1 time in total.

User avatar
linux123
Level 5
Level 5
Posts: 604
Joined: Thu Sep 03, 2015 6:43 am
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by linux123 » Fri Jun 30, 2017 1:53 pm

En cuanto pueda lo miro y os notifico cuando esté todo correcto. Por cierto, os tomaré prestadas algunas correcciones :P

Saludos.

User avatar
linux123
Level 5
Level 5
Posts: 604
Joined: Thu Sep 03, 2015 6:43 am
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by linux123 » Sat Jul 01, 2017 7:04 am

Vale, creo que ya está mejor, a ver qué os parece.

User avatar
JOPETA
Level 15
Level 15
Posts: 5853
Joined: Thu Nov 20, 2014 6:10 am
Location: En un lugar de cuyo nombre no quiero acordarme

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by JOPETA » Sat Jul 01, 2017 10:50 am

Aun podrías "tutear" algo mas pero francamente mejor. Añadido al Indice de temas Ensenciales, por ahora en verde aunque no por mucho tiempo. :D

User avatar
JCSenar
Level 10
Level 10
Posts: 3183
Joined: Sat Sep 06, 2014 6:26 pm
Location: Irun, España
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by JCSenar » Sat Jul 01, 2017 11:05 am

linux123 wrote:Vale, creo que ya está mejor, a ver qué os parece.
Solo una duda: Esto es lo que sucede cuando utilizo sudo -i (aparentemente correcto) y sudo -H. Parece que sudo -H es incorrecto (no aprerece entre las opciones de uso) y que lo correcto sería sudo -h seguido de opciones:

Code: Select all

juancar@Juancar-PC ~ $ sudo -i
[sudo] password for juancar:         
Juancar-PC ~ # exit
logout
juancar@Juancar-PC ~ $ sudo -H
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] file ...
juancar@Juancar-PC ~ $ 
Agradecería un ejemplo de uso para entenderlo mejor. Habitualmente solo utilizo sudo a secas (sudo apt-get install XXXXX, etc.)

¿Algo que aclarar ante mi desconocimiento?
Image
Si tu consulta ha sido resuelta, por favor, edita tu primer mensaje y añade [SOLUCIONADO] al título. Gracias.

User avatar
JOPETA
Level 15
Level 15
Posts: 5853
Joined: Thu Nov 20, 2014 6:10 am
Location: En un lugar de cuyo nombre no quiero acordarme

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by JOPETA » Sat Jul 01, 2017 12:56 pm

Y también tuve que comprobarlo ya que el clic es lo que tiene, que se pierde la costumbre ¡Gracias Mint! :D

sudo -H es correcto lo que falta es el comando o la aplicación que correr con el sudo -H [command] (parece que sudo -i por defecto no lo precisa y cambia de directorio sin más).sudo -h solo te remite a la ayuda . Puedes verlo con man sudo
-H, --set-home
Request that the security policy set the HOME environment
variable to the home directory specified by the target user's
password database entry. Depending on the policy, this may
be the default behavior.
-h, --help
Display a short help message to the standard output and exit.
y sudo --help en español mas escueto
-H, --set-home asignar la variable HOME al directorio de inicio del usuario
-h, --help mostrar mensaje de ayuda y salir
Por ejemplo usa el listado del directorio (ls) así compruebas además que uno se desplaza de directorio y el otro no :wink:

Code: Select all

sudo -i ls  >>mostraría el contenido de /root
sudo -H ls  >>mostraría el contenido de tu directorio de usuario es decir /home/juancar
Last edited by JOPETA on Sun Jul 02, 2017 5:29 am, edited 1 time in total.

User avatar
JCSenar
Level 10
Level 10
Posts: 3183
Joined: Sat Sep 06, 2014 6:26 pm
Location: Irun, España
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by JCSenar » Sun Jul 02, 2017 2:56 am

JOPETA wrote:Por ejemplo usa el listado del directorio (ls) así compruebas además que uno se desplaza de directorio y el otro no :wink: :

Code: Select all

sudo -i ls  >>mostraría el contenido de /root
sudo -H ls  >>mostraría el contenido de tu directorio de usuario es decir /home/juancar
¡Exactamente! :D Seguimos aprendiendo :wink:

Por mi parte, que siempre he usado mal estos comandos (sudo pluma .... :oops: ) me comprometo a usar en adelante gksudo pluma .... :D

Si linux123 está de acuerdo, añadiría al final del tutorial el ejemplo que acaba de comentar JOPETA para ilustrarlo un poco. ¿Algo tal que así?:
______________________________________________

EJEMPLO:

sudo -i por defecto no precisa de un comando o aplicación que correr y si no lo añadimos cambia de directorio sin más.

sudo -H sí necesita de un comando o aplicación que correr: sudo -H [command]

Por ejemplo, usando el comando para listar un directorio (ls) uno se desplaza de directorio y el otro no:

sudo -i ls >> mostraría el contenido de /root.

sudo -H ls >> mostraría el contenido deldirectorio /home/usuario.
_____________________________________________
Image
Si tu consulta ha sido resuelta, por favor, edita tu primer mensaje y añade [SOLUCIONADO] al título. Gracias.

User avatar
linux123
Level 5
Level 5
Posts: 604
Joined: Thu Sep 03, 2015 6:43 am
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by linux123 » Sun Jul 02, 2017 7:23 am

JCSenar wrote:Por mi parte, que siempre he usado mal estos comandos (sudo pluma .... :oops: ) me comprometo a usar en adelante gksudo pluma .... :D
Vaaaale, lo reconozco, ya somos dos :mrgreen: (soy muy de sudo nemo noseque....).

En cuento al ejemplo, ahora mismo lo añado, es buena idea y así queda todo perfectamente aclarado.

EDIT: Añadido queda.

User avatar
TursonX
Level 3
Level 3
Posts: 114
Joined: Thu May 26, 2016 1:36 am

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by TursonX » Mon Oct 16, 2017 1:55 am

Hola.

Al buscar en Google sobre "diferencias sudo su", suele arrojar este artículo: http://www.ubuntu-guia.com/2012/08/coma ... -sudo.html.
En el cual como conclusión aconsejan dado el caso, que el de usar sea sudo -i cuando se trate de muchos los comandos a ejecutar con privilegios de administrador.
No obstante, en su explicación de aquí en el foro de Linux Mint, denoto que no coinciden con ello, o ¿al menos en parte?
LM 18 Mate x64 » kernel 4.4.0-165-generic » MSI 760GM-P34 » video onboard Ati Radeon HD 3000 » AMD Athlon II X2 240 » 4GB RAM ddr3 hynix » HDD WD Sata II

User avatar
JOPETA
Level 15
Level 15
Posts: 5853
Joined: Thu Nov 20, 2014 6:10 am
Location: En un lugar de cuyo nombre no quiero acordarme

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by JOPETA » Mon Oct 16, 2017 12:31 pm

TursonX wrote:No obstante, en su explicación de aquí en el foro de Linux Mint, denoto que no coinciden con ello, o ¿al menos en parte?
Yo no lo entiendo así. Aquí las unicas remendaciones que se realizan son las relativas a impedir el cambio de permisos de archivos en el directorio de usuario con las aplicaciones con interfaz gráfica, sudo -i no debería ser usado para aplicaciones gráficas, siendo recomendable su uso, como dices, en los otros casos.

Por la fecha del enlace que proporcionas (2012) estas consideraciones no se tenían muy encuenta (ni una mención a gksudo en el texto principal). Pero Juanetebitel si que hace mención a esto en su respuesta a un comentario al respecto. Como verás la coincidencia es exacta. :wink:
Last edited by JOPETA on Mon Oct 16, 2017 2:43 pm, edited 2 times in total.
Ni cola de león ni cabeza de ratón, prefiero ser diente de ajo.(Javier Krahe)

User avatar
linux123
Level 5
Level 5
Posts: 604
Joined: Thu Sep 03, 2015 6:43 am
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by linux123 » Mon Oct 16, 2017 1:32 pm

TursonX wrote:Hola.

Al buscar en Google sobre "diferencias sudo su", suele arrojar este artículo: http://www.ubuntu-guia.com/2012/08/coma ... -sudo.html.
En el cual como conclusión aconsejan dado el caso, que el de usar sea sudo -i cuando se trate de muchos los comandos a ejecutar con privilegios de administrador.
No obstante, en su explicación de aquí en el foro de Linux Mint, denoto que no coinciden con ello, o ¿al menos en parte?
sudo -i Es igual que sudo, solo que en este caso se escribe una vez para todos los comandos que escribas hasta cerrar la terminal (sin duplicar sesiones y procesos como haces con su). Digamos que "escribe sin que se vea" sudo delante de cada comando (absurda explicación, pero sirve para comprenderlo :roll: ). Pero el ser sudo y no gksudo o kdesudo supone que NO debe usarse para aplicaciones gráficas. La -i solo forma parte de la sintaxis de sudo, pero sigue siendo sudo.

Como ves la explicación es muy redundante, pero espero que al menos quede aclarado. Y por cierto, esto para cualquier comando, para ver su uso y su sintaxis solo tienes que escribir man [i]comandoquesea[/i].

Saludos.

User avatar
thejokerk
Level 4
Level 4
Posts: 212
Joined: Fri Feb 23, 2018 1:01 pm
Location: No soy de aquí ni soy de allá
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by thejokerk » Tue Mar 06, 2018 12:10 am

Está muy, pero muy interesante el tema, al igual que enredado, vamos a ver cuanto me tomo comprenderlo bien, gracias por el aporte.
Nadie es completamente un fracaso, siempre sirve de mal ejemplo ¨Anónimo¨

Image

User avatar
hatteras
Level 9
Level 9
Posts: 2993
Joined: Fri Sep 24, 2010 6:43 pm
Location: En el paraiso en la tierra
Contact:

Re: Diferencias entre gksudo, kdesudo, sudo y su

Post by hatteras » Tue Mar 06, 2018 5:54 am

En mi caso, con Cinnamon como escritorio:
sudo si quiero hacer algo con permisos de root en una terminal que no se pueda hacer con una aplicación gráfica
gksudo si quiero hacer algo con permisos de root con una aplicación gráfica.
su nunca lo he usado para nada
Todos somos muy ignorantes. Pero no todos ignoramos las mismas cosas.
Es un placer ayudar, y ver que a alguien le es útil.
Es un placer pedir ayuda y ver que alguien te la da desinteresadamente.

Post Reply

Return to “Español (Spanish)”