Estos comandos son totalmente distintos y cada uno sirve para una cosa muy distinta.
También me he dado cuenta que el uso indiscriminado del "
sudo su"
después de instalar Ubuntu para logearse como root e instalar todo tipo
de aplicaciones sin necesidad de escribir el "sudo" constantemente,
provoca algunas malas instalaciones y desconfiguraciones, por no
eliminar las variables de entorno del usuario y cargar las del root (ver
consejo al final de la guía).Para sacarnos de dudas, voy a tratar de explicar con detalle, el uso de estos dos comandos:
El comando "su"
Son las siglas de "Switch User" y sirve, como su propio nombre indica, para cambiar de usuario sin necesidad de hacer un cierre o cambio de sesión (todo esto desde la terminal, esa cosa tan rara, pero potente y funcional).
Vamos a ver unos ejemplos y para ello, vamos a utilizar dos comandos más:
whoami (quien soy) y pwd (directorio en el que nos encontramos en la terminal):juanetebitel@equipo:~$ whoami juanetebitel juanetebitel@equipo:~$ pwd /home/juanetebitelAquí vemos con "
whoami", que soy "juanetebitel" y con "pwd", que estoy en mi carpeta personal "/home/juanetebitel". Como anotación, decir que la línea con que siempre se abre nuestra terminal:
juanetebitel@equipo:~$Se denomina: "Prompt" y está compuesta por:
- nombre de usuario "juanetebitel"
- el símbolo de "@"
- nombre del equipo "equipo"
- dos puntos ":"
- directorio donde nos encontramos "~"
- símbolo del dolar "$" (si estamos como root cambiará a "#").
~", que equivale a la propia carpeta personal del usuario en cuestión "/home/juanetebitel".Ahora vamos a cambiar al usuario "manuel" con el comando: "
su nombreusuario":juanetebitel@equipo:~$ su manuel
Contraseña: [la de manuel]
Nota: Nos pedirá la contraseña de "manuel" (no la de juanetebitel)Y comprobamos quien es y donde está:
manuel@equipo:/home/juanetebitel$ whoami manuel manuel@equipo:/home/juanetebitel$ pwd /home/juanetebitelVemos que es "manuel" pero sigue en mi carpeta personal "/home/juanetebitel" y no en la suya, no cambiando las variables de entorno. Eso sí, en el Prompt (texto por defecto antes del "$"), esta variable de entorno es actualizada y nos muestra el nuevo usuario y el home del usuario, donde nos encontramos: "
manuel@equipo:/home/juanetebitel$". Esto es muy importante tenerlo en cuenta a la hora de hacerse root.Si queremos cambiar al usuario "manuel" y además cambiar a su carpeta personal y demás variables de entorno, añadimos un espacio en blanco y un guión medio "
-" a "su" (antes de manuel):juanetebitel@equipo:~$ su - manuel Contraseña: [la de manuel] manuel@equipo:~$ whoami manuel manuel@equipo:~$ pwd /home/manuelAquí vemos que en el Prompt aparece el directorio con el símbolo "
~", que es igual que estar en la propia carpeta personal del usuario en cuestión "manuel@equipo:~$".Cambiar al usuario root activado:
En sistemas GNU/linux con la cuenta del root activada (no es el caso de Ubuntu por defecto), para cambiar al usuario "root", se puede hacer escribiendo después del "su" el usuario ("
su root") o no ("su"), aunque es más utilizada esta última:juanetebitel@equipo:~$ su root@equipo:/home/juanetebitel# whoami root root@equipo:/home/juanetebitel# pwd /home/juanetebitelComo dijimos, "su", cambia de usuario pero no cambia de directorio $HOME ni demás variables de entorno.
Si queremos cambiar a root y además cambiar a su carpeta personal y demás variables de entorno, añadimos un espacio en blanco y un guión medio "
-":juanetebitel@equipo:~$ su - root@equipo:~# whoami root root@equipo:~# pwd /rootPara salir del usuario "root" o "manuel" y volver a nuestro usuario "juanetebitel", ejecutamos el comando:
exit
Para ver el manual de "su" ejecutar en una terminal:
man suPara salir del manual pulsar la tecla q.
El comando "sudo"
"Sudo" viene de "switch user do" y permite a los usuarios ejecutar acciones con los privilegios de seguridad del root, de manera segura. Se instala por defecto en /usr/bin.
Por defecto Ubuntu trae desactivada la cuenta del "root", por seguridad y para administrar el sistema existe un grupo de usuarios denominado "sudoers users" (administradores o admin), los cuales pueden obtener permisos de root, mediante la utilización de "sudo".
El usuario con el que instalamos Ubuntu, se encuentra incluido en este grupo de administradores.
El archivo que determina el acceso a las tareas administrativas del grupo "sudoers users" es "/etc/sudoers". En Ubuntu 12.04 el archivo por defecto viene configurado así:
# This file MUST be edited with the 'visudo' command as root.Nota: todas las líneas con una # delante son comentarios y el sistema no los lee. Este archivo solo puede ser editado por el root con "
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
visudo"
No hay comentarios:
Publicar un comentario