Administración de usuarios en GNU/Linux

in spanish •  7 years ago  (edited)

Buenas tardes gente! Les traigo otra especie de píldora o tip para hacerles la vida más fácil.
Como me pidió @cultura.bitcoin, les traigo este pequeño posteo.

Linux es un sistema multiusuario, por lo tanto, la tarea de añadir, modificar, eliminar y en general administrar usuarios se convierte en algo no solo rutinario, sino importante, además de ser un elemento de seguridad que mal administrado o tomado a la ligera, puede convertirse en un enorme hoyo de seguridad. En este manual aprenderás todo lo necesario para administrar completamente tus usuarios en GNU/Linux.

Tipos de usuarios

  1. Root
    • También llamado superusuario o administrador.
    • Su UID (User ID) es 0 (cero).
    • Es la única cuenta de usuario con privilegios sobre todo el sistema.
    • Acceso total a todos los archivos y directorios con independencia de propietarios y permisos.
    • Controla la administración de cuentas de usuarios.
    • Ejecuta tareas de mantenimiento del sistema.
    • Puede detener el sistema.
    • Instala software en el sistema.
    • Puede modificar o reconfigurar el kernel, controladores, etc.
  2. Usuarios especiales
    • Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache, etc.
    • Se les llama también cuentas del sistema.
    • No tiene todos los privilegios del usuario root, pero dependiendo de la cuenta asumen distintos privilegios de root.
    • Lo anterior para proteger al sistema de posibles formas de vulnerar la seguridad.
    • No tienen contraseñas pues son cuentas que no están diseñadas para iniciar sesiones con ellas.
    • También se les conoce como cuentas de "no inicio de sesión" (nologin).
    • Se crean (generalmente) automáticamente al momento de la instalación de Linux o de la aplicación.
    • Generalmente se les asigna un UID entre 1 y 100 (definifo en /etc/login.defs)
  3. Usuarios normales
    • Se usan para usuarios individuales.
    • Cada usuario dispone de un directorio de trabajo, ubicado generalmente en /home.
    • Cada usuario puede personalizar su entorno de trabajo.
    • Tienen solo privilegios completos en su directorio de trabajo o HOME.
    • Por seguridad, es siempre mejor trabajar como un usuario normal en vez del usuario root, y cuando se requiera hacer uso de comandos solo de root, utilizar el comando su.
    • En las distros actuales de Linux se les asigna generalmente un UID superior a 500.

Añadir usuarios con useradd

useradd o adduser es el comando que permite añadir nuevos usuarios al sistema desde la línea de comandos. Sus opciones más comunes o importantes son las siguientes:

  • -c añade un comentario al momento de crear al usuario, campo 5 de /etc/passwd
  • -d directorio de trabajo o home del usuario, campo 6 de /etc/passwd
  • -e fecha de expiración de la cuenta, formato AAAA-MM-DD, campo 8 de /etc/shadow
  • -g número de grupo principal del usuario (GID), campo 4 de /etc/passwd
  • -G otros grupos a los que puede pertenecer el usuario, separados por comas.
  • -r crea una cuenta del sistema o especial, su UID será menor al definido en /etc/login.defs en la variable UID_MIN, además no se crea el directorio de inicio.
  • -s shell por defecto del usuario cuando ingrese al sistema. Si no se especifica, bash, es el que queda establecido.
  • -u UID del usuario, si no se indica esta opción, automáticamente se establece el siguiente número disponible a partir del último usuario creado.

Ejemplo:

#> useradd steemit

Se creará el usuario y su grupo, asi como las entradas correspondientes en /etc/passwd, /etc/shadow y /etc/group. También se creará el directorio de inicio o de trabajo: /home/juan y los archivos de configuración que van dentro de este directorio y que más adelante se detallan.

#> useradd -c "Cuenta de Steemit" steemit

Modificar usuarios con usermod

Como su nombre lo indica, usermod permite modificar o actualizar un usuario o cuenta ya existente. Sus opciones más comunes o importantes son las siguientes:

  • -c añade o modifica el comentario, campo 5 de /etc/passwd
  • -d modifica el directorio de trabajo o home del usuario, campo 6 de /etc/passwd
  • -e cambia o establece la fecha de expiración de la cuenta, formato AAAA-MM-DD, campo 8 de /etc/shadow
  • -g cambia el número de grupo principal del usuario (GID), campo 4 de /etc/passwd
  • -G establece otros grupos a los que puede pertenecer el usuario, separados por comas.
  • -l cambia el login o nombre del usuario, campo 1 de /etc/passwd y de /etc/shadow
  • -L bloque la cuenta del usuario, no permitiendolé que ingrese al sistema. No borra ni cambia nada del usuario, solo lo deshabilita.
  • -s cambia el shell por defecto del usuario cuando ingrese al sistema.
  • -u cambia el UID del usuario.
  • -U desbloquea una cuenta previamente bloqueada con la opción -L.

Ejemplo:
Si quiseramos cambiar el nombre de usuario de 'steemit' a 'steemi':

#> usermod -l steemi steemit

Casi seguro también cambiará el nombre del directorio de inicio o HOME en /home, pero si no fuera así, entonces:

#> usermod -d /home/steemi steemi

El usuario 'steemi' salió de vacaciones y nos aseguramos de que nadie use su cuenta:

#> usermod -L sego

Eliminar usuarios con userdel

Como su nombre lo indica, *userdel elimina una cuenta del sistema, userdel puede ser invocado de tres maneras, veamos las 2 más importantes.

#> userdel steemit

O sino:

#> userdel -f sergio

La opción -f es igual que la opción -r, elimina todo lo del usuario, cuenta, directorios y archivos del usuario, pero además lo hace sin importar si el usuario esta actualmente en el sistema trabajando. Es una opción muy radical, además de que podría causar inestabilidad en el sistema, asi que hay que usarla solo en casos muy extremos.


Cambiar contraseñas con passwd

Crear al usuario con useradd es el primer paso, el segundo es asignarle una contraseña a ese usuario. Esto se logra con el comando passwd que permitirá ingresar la contraseña y su verificación:

#> passwd steemit
Changing password for user prueba.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
#>

El usuario root es el único que puede indicar el cambio o asignación de contraseñas de cualquier usuario. Usuarios normales pueden cambiar su contraeña en cualquier momento con tan solo invocar passwd sin argumentos, y podrá de esta manera cambiar la contraseña cuantas veces lo requiera.


!()[]

Espero que les haya servido.
Si tienen dudas, correcciones o algo no duden en consultar.

Saludos

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @olka! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!