El usuario root es la entidad más poderosa del universo Linux con poderes ilimitados, para bien o para mal. Crear un usuario Entiendo. ¿Aniquilar un sistema de archivos? Vaya, además lo tengo.
La historia del origen
El usuario root es el superusuario de Linux. Pueden, literalmente, hacer cualquier cosa. Nada está restringido o prohibido para root
. Si son un superhéroe o un supervillano depende del usuario humano que asume el papel de administrador del sistema. Los errores cometidos por el usuario root pueden ser catastróficos, por lo que la cuenta root debe utilizarse exclusivamente con fines administrativos.
El concepto de usuario root fue heredado de Unix, que tenía un usuario root como superusuario administrativo. Pero no se sabe con certeza de dónde proviene el nombre «raíz». Algunas personas piensan que provino del Sistema operativo Multics, que es anterior a Unix.
Ken Thompson y Dennis Ritchie, dos de los arquitectos y autores más importantes de Unix, habían trabajado previamente en Multics. Multics tenía un sistema de archivos que comenzaba en un punto llamado directorio raíz o «/», y todos los demás directorios y subdirectorios se ramificaban hacia abajo y hacia afuera desde la raíz como un árbol invertido. Es el mismo tipo de estructura de árbol adoptada por Unix. Entonces, ¿tal vez Unix además adoptó al usuario root de Multics?
Buscando a través del Documentación técnica de Multics descubre una multitud de referencias a volúmenes lógicos raíz, volúmenes físicos raíz, tarjetas raíz y el directorio raíz. Pero no se menciona una cuenta de usuario root o un usuario llamado «root».
Otra teoría es que en los primeros días de Unix, la carpeta de inicio del superusuario era la raíz «/» del sistema de archivos. El superusuario necesitaba un nombre. El término «usuario root» se había utilizado en lugar de un nombre oficial, pero el término se mantuvo y se convirtió en el nombre oficial.
Eso parece más probable, pero nadie parece ser capaz de decir con certeza cómo obtuvo su nombre el usuario root.
El comando sudo
En cualquier sistema operativo, es una buena práctica reservar el superusuario solo con fines administrativos y usar una cuenta de usuario normal el resto del tiempo. En realidad, la mayoría de las distribuciones de Linux modernas no le permitirán iniciar sesión como usuario root.
Desde luego, esto es Linux, por lo que puede configurarlo para permitir que el usuario root inicie sesión. Pero cuanto menos tiempo pase conectado como root
, el mejor. Al mismo tiempo de protegerse de desastres derivados de errores tipográficos, si no puede iniciar sesión como root
, nadie más puede. Cualquiera que obtenga acceso no autorizado a su sistema no podrá iniciar sesión como root
, limitando el daño que pueden hacer.
Pero si inicia sesión como root
está deshabilitado, ¿cómo administra su computadora Linux? Bueno, eso es lo que sudo
el comando es para. No necesita que el usuario root inicie sesión. Otorga temporalmente root
poderes sobre ti. Es como levantar el martillo de Thor. Mjolnir y recibir temporalmente los poderes de Thor. Pero solo puedes levantar el martillo si eres digno. De la misma forma, no cualquiera puede usar el sudo
mando. los sudo
el mando solo otorga root
tiene poderes sobre usted si ha sido considerado digno y agregado a la lista de sudoers.
Hay otro comando equivalente a sudo
llamado su
. Con sudo
, se autentica con su propia contraseña. Con su
, se autentica con la contraseña del usuario root. Esto es significativo de dos formas. En primer lugar, significa que debe adjudicar una contraseña al usuario root para utilizar su
. De forma predeterminada, el usuario root no tiene contraseña y esto ayuda con la seguridad. Si root
no tiene contraseña, no puede iniciar sesión como root
.
En segundo lugar, si establece una contraseña de root, todos los que vayan a usar la su
El comando necesita saber la contraseña. Y compartir contraseñas es un no-no de seguridad, y para la contraseña de root, aún más. Cualquiera de las personas que conozca la contraseña de root puede decírselo a otra persona. Si necesita cambiar la contraseña de root, debe comunicar la nueva contraseña a todas las personas que necesiten conocerla.
Es mucho más seguro utilizar la lista de sudoers para restringir quién puede utilizar sudo
y permita que cada persona privilegiada use sus contraseñas individuales para autenticarse.
Usando sudo
El archivo “/ etc / shadow” contiene el nombre de usuario de cada cuenta en su computadora Linux, junto con otros datos, incluida la contraseña cifrada de cada cuenta, cuándo se cambió la contraseña por última vez y cuándo caduca. Debido a que contiene información confidencial, solo puede ser leído por root
.
Si intentamos utilizar el wc
comando para leer las líneas, palabras y caracteres en el archivo de sombra, se nos negará el permiso.
wc /etc/shadow
Si estamos en el listado de sudoers y usamos el mismo comando con sudo
al comienzo de la línea, se nos pedirá nuestra contraseña y el comando se ejecutará por nosotros. Si eres el único usuario en tu computadora Linux, automáticamente se te agregará a la lista de sudoers cuando se instale el sistema.
sudo wc /etc/shadow
Como estamos ejecutando el comando como root, el wc
se ejecuta el comando. Nadie niega root.
los sudo
comando utilizado para significar «superusuario hacer». Se mejoró para permitirle ejecutar un comando como cualquier usuario, por lo que se renombró como «usuario sustituto hacer». En realidad, el comando se ejecuta como si el otro usuario lo hubiera ejecutado. Si no especifica un nombre de usuario, sudo
por defecto utiliza root
. Si desea usar un usuario distinto, utilice el -u
opción (usuario).
Podemos ver que los comandos se ejecutan como otro usuario usando el whoami
mando.
whoami
sudo whoami
sudo -u mary whoami
RELACIONADO: Cómo determinar la cuenta de usuario actual en Linux
Ejecutando como root sin utilizar su
El inconveniente con sudo
es que debes de utilizar «sudo» al comienzo de cada comando. Si solo está escribiendo uno o dos comandos, no es gran cosa. Si cuenta con una secuencia más larga de comandos para ejecutar, puede resultar tedioso. Puede ser tedioso, pero actúa como una trampa de seguridad útil para root
poderes, y tiene que quitarse conscientemente la seguridad cada vez.
Existe una forma de «iniciar sesión» de forma eficaz root
eso no utiliza su
y no necesita que el usuario root tenga una contraseña.
Advertencia: Tenga cuidado cuando utilice este método. Cada comando que emita se ejecutará felizmente, sin preguntas, inclusive si es destructivo.
Usando sudo
para ejecutar un shell Bash abre un nuevo shell con root
como usuario.
sudo bash
Tenga en cuenta que el símbolo del sistema cambia. El carácter final del mensaje es ahora un hash «#» en lugar de un carácter de dólar «$».
La forma en que se muestra el cuerpo del símbolo del sistema varía de una distribución a otra. En Ubuntu, se nos informa que el usuario es root
y muestra el nombre de la computadora y el directorio de trabajo actual. El color del mensaje además cambia.
Debido a que somos root
, podemos ejecutar comandos que regularmente requerirían el uso de sudo
.
wc /etc/shadow
Para salir del shell del usuario root, presione «Ctrl + D» o escriba «salir» y presione «Enter».
exit
Menos Superman, más Clark Kent
Si está en el listado de sudoers, tiene superpoderes sobre su sistema Linux. Solo recuerde, Superman pasa más tiempo como su alter ego de modales apacibles que en su capa roja.
Utilice su cuenta de usuario frecuente tanto como sea factible. Solo cambia a root
cuando verdaderamente lo necesitas.