Tabla de contenidos
El usuario root es la entidad más poderosa del universo Linux con poderes ilimitados, para bien o para mal. Crear un usuario Entendido. ¿Aniquilar un sistema de archivos? Vaya, también lo tengo.
La historia del origen
El usuario root es el superusuario de Linux. Pueden, literalmente, hacer cualquier cosa. Nada está restringido o prohibido 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 viene 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 anteriormente 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, ¿quizás Unix también adoptó al usuario root de Multics?
Al buscar en la documentación técnica de Multics, se 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 utilizar una cuenta de usuario normal el resto del tiempo. De hecho, la mayoría de las distribuciones de Linux modernas no le permitirán iniciar sesión como usuario root.
Por supuesto, esto es Linux, por lo que puede configurarlo para permitir que el usuario root inicie sesión. Pero cuanto menos tiempo pase conectado root
, mejor. Además de protegerse de los desastres derivados de errores tipográficos, si no puede iniciar sesión como root
, nadie más podrá hacerlo . Cualquiera que obtenga acceso no autorizado a su sistema no podrá iniciar sesión como root
, lo que limita el daño que puede hacer.
Pero si iniciar sesión como root
está deshabilitado, ¿cómo administra su computadora Linux? Bueno, para eso es el sudo
comando. No requiere que el usuario root inicie sesión. Le otorga root
poderes temporalmente . Es como recoger el martillo de Thor, Mjolnir, y recibir temporalmente los poderes de Thor. Pero solo puedes levantar el martillo si eres digno. Del mismo modo, no cualquiera puede usar el sudo
comando. El sudo
comando solo te otorga root
poderes si has sido considerado digno y agregado a la lista de sudoers.
Hay otro comando similar a sudo
llamado su
. Con sudo
, se autentica con su propia contraseña. Con su
, se autentica utilizando la contraseña del usuario root. Esto es significativo de dos formas. En primer lugar, significa que debe asignar una contraseña al usuario root para que la utilice 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 utilizar el su
comando deben conocer 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 usar la lista de sudoers para restringir quién puede usar sudo
y permitir 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 usar 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 la lista 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
Debido a que estamos ejecutando el comando como root, el wc
comando se ejecuta. Nadie niega root.
El sudo
comando solía significar «superusuario». 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, por sudo
defecto usa root
. Si desea utilizar un usuario diferente, utilice la -u
opción (usuario).
Podemos ver que los comandos se ejecutan como otro usuario usando el whoami
comando.
quién soy
sudo whoami
sudo -u mary whoami
Ejecutando como root sin usar su
El problema sudo
es que tienes que usar «sudo» al comienzo de cada comando. Si solo está escribiendo uno o dos comandos, no es gran cosa. Si tiene 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
los poderes, y usted tiene que quitarse conscientemente la seguridad cada vez.
Hay una manera de «iniciar sesión» de forma eficaz, ya root
que no utiliza su
y no requiere 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, incluso si es destructivo.
Usar 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 se muestra el nombre de la computadora y el directorio de trabajo actual. El color del mensaje también cambia.
Como estamos root
, podemos ejecutar comandos que normalmente 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».
Salida
Menos Superman, más Clark Kent
Si está en la lista de sudoers, tiene superpoderes sobre su sistema Linux. Solo recuerda, Superman pasa más tiempo como su alter ego de modales apacibles que en su capa roja.
Utilice su cuenta de usuario habitual tanto como sea posible. Cambie root
cuando realmente lo necesite.