Administración de usuarios Linux

Como se administras usuarios en gnu/linux
Los usuarios se utilizan en GNU/Linux para el control de acceso, es decir, para controlar el acceso a los archivos, directorios y periféricos del sistema. Linux ofrece mecanismos de control de acceso relativamente simples por defecto. El superusuario puede conceder permisos a usuarios creados y a grupos en los cuales se integran usuarios.


Archivos involucrados:

Archivo /etc/passwd es un archivo en formato ascii donde se guarda en cada línea la información definida de un usuario en el sistema.

La sintasix de cada línea es:

usuario:x:uid:gid:comentario:directorio-Home:shell-de-inicio

donde:

usuario: es el nombre asignado al usuario.
x: Campo en desuso, se deja por compatibilidad retro.
gid: número de grupo primario asociado al usuario.
comentario: breve comentario sobre el usuario.
directorio-home: Directorio de inicio y trabajo asignado al usuario.
shell-de-inicio: shell definida para el usuario.

El archivo /etc/shadow archivo ascii de acceso restringido donde se guardan para cada usuario las claves encriptadas así como información relacionada.

Sintasix:

usuario:password:lastchg:min:max:warn:inactive:expire:


donde:

usuario: nombre del usuario debe coincidir con el de /etc/passwd
password: contraseña del usuario encriptada.
lastchg: útima fecha de modificación en formato unix.
min: cuanto esperar para permitir cambiar la contraseña al usuario
max: cada cuanto debe el usuario cambiar de contraseña
warn: cuantos días antes se avisa al usuario que debe cambiar la contraseña.
inactive: si es 0 (cero) se bloque al no cambiar la contraseña cuando debe, si es -1 deja ingresar y cambiarla, es el valor por defecto.
expire: cuando expira la cuenta.


Archivo /etc/group archivo ascii donde se guarda la infomación relativa a los grupos del sistema.

sintaxis: 

grupo:x:gid:lista-usuarios

donde:

grupo: nombre del grupo
x: contraseña del grupo
gid: número del grupo
lista-usuarios: lista de usuarios con este grupo como secundario


Administración de usuarios

Comandos:

useradd

useradd nos permite añadir usuarios al sistema

Modo de uso: useradd [opciones] USUARIO
             useradd -D
             useradd -D [opciones]

Opciones:
      --badnames                do not check for bad names
  -b, --base-dir DIR_BASE       directorio base para el directorio personal de la nueva cuenta
      --btrfs-subvolume-home    use BTRFS subvolume for home directory
  -c, --comment COMENTARIO      campo GECOS de la nueva cuenta
  -d, --home-dir DIR_PERSONAL   directorio personal de la nueva cuenta
  -D, --defaults                imprime o cambia la configuración predeterminada de useradd
  -e, --expiredate FECHA_CADUCIDAD  fecha de caducidad de la nueva cuenta
  -f, --inactive INACTIVO       periodo de inactividad de la contraseñade la nueva cuenta
  -g, --gid GRUPO               nombre o identificador del grupo primario de la nueva cuenta
  -G, --groups GRUPOS           lista de grupos suplementarios de la nueva cuenta
  -h, --help                    muestra este mensaje de ayuda y termina
  -k, --skel DIR_SKEL           utiliza este directorio «skeleton» alternativo
  -K, --key CLAVE=VALOR         sobrescribe los valores predeterminados de «/etc/login.defs»
  -l, --no-log-init             no añade el usuario a las bases de datos delastlog y faillog
  -m, --create-home             crea el directorio personal del usuario
  -M, --no-create-home          no crea el directorio personal del usuario
  -N, --no-user-group           no crea un grupo con el mismo nombre que el usuario
  -o, --non-unique              permite crear usuarios con identificadores(UID) duplicados (no únicos)
  -p, --password CONTRASEÑA     contraseña cifrada de la nueva cuenta
  -r, --system                  crea una cuenta del sistema
  -R, --root CHROOT_DIR         directorio en el que hacer chroot
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell CONSOLA           consola de acceso de la nueva cuenta
  -u, --uid UID                 identificador del usuario de la nueva cuenta
  -U, --user-group              crea un grupo con el mismo nombre que el usuario
  -Z, --selinux-user USUARIO_SE  utiliza el usuario indicado para el usuariode SELinux
      --extrausers              Use the extra users database



Valores por defecto

Modifica o muestra (si no se le pone argumentos) los valores por defecto al ingresar un nuevo usuario,en el archivo /etc/default/useradd

# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=0
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel


Ejemplo

Creación de la cuenta de un usuario por defecto (sin opciones)

useradd ana

Como se ve el archivo /etc/passwd

ana:x:506:506::/home/ana:/bin/bash

Como se ve el archivo /etc/group

ana:x:506:

Ejemplo

Creación de la cuenta de un usuario modificando el grupo principal (el grupo tiene que estar creado)

useradd -g users ana

Archivo /etc/passwd

ana:x:507:100::/home/ana:/bin/bash

Archivo /etc/group

users:x:100:

Comando usermod

permite modificar la cuenta del usuario.

Modo de uso: usermod [opciones] USUARIO

Opciones:

  -b, --badnames                allow bad names
  -c, --comment COMENTARIO      nuevo valor del campo GECOS
  -d, --home DIR_PERSONAL       nuevo directorio personal del nuevo usuario
  -e, --expiredate FECHA_EXPIR  establece la fecha de caducidad de la cuenta a FECHA_EXPIR
  -f, --inactive INACTIVO       establece el tiempo de inactividad después de que caduque la cuenta a INACTIVO
  -g, --gid GRUPO               fuerza el uso de GRUPO para la nueva cuenta de usuario
  -G, --groups GRUPOS           lista de grupos suplementarios
  -a, --append                  append the user to the supplemental GROUPS mentioned by the -G option without removing the user from other groups
  -h, --help                    muestra este mensaje de ayuda y termina
  -l, --login NOMBRE            nuevo nombre para el usuario
  -L, --lock                    bloquea la cuenta de usuario
  -m, --move-home               mueve los contenidos del directorio personal al directorio nuevo (usar sólo junto con -d)
  -o, --non-unique              permite usar UID duplicados (no únicos)
  -p, --password CONTRASEÑA     usar la contraseña cifrada para la nueva cuenta
  -R, --root CHROOT_DIR         directorio en el que hacer chroot
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell CONSOLA           nueva consola de acceso para la cuenta del usuario
  -u, --uid UID                 fuerza el uso del UID para la nueva cuenta de usuario
  -U, --unlock                  desbloquea la cuenta de usuario

Comando userdel

Elimina la cuenta de un usuario

Modo de uso: userdel [opciones] USUARIO

Opciones:

  -f, --force                   forzar la eliminación de los ficheros, incluso si no pertenecen al usuario
  -h, --help                    muestra este mensaje de ayuda y termina
  -r, --remove                  elimina el directorio personal y el buzón de correo
  -R, --root CHROOT_DIR         directorio en el que hacer chroot
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
      --extrausers              Use the extra users database
  -Z, --selinux-user            remove any SELinux user mapping for the user


Comandos para administrar la contraseña

Comando passwd

Al crear un usuario la cuenta se crea lockeada, para que el usuario pueda ingresar el administrador debeasignar la contraseña. Este comando involucra el archivo /etc/shadow

Asignar contraseña al usuario

Modo de uso: passwd [opciones] [USUARIO]

Opciones:
  -a, --all                     informa del estado de las contraseñas de todas las cuentas
  -d, --delete                  borra la contraseña para la cuenta indicada
  -e, --expire                  fuerza a que la contraseña de la cuenta caduque
  -h, --help                    muestra este mensaje de ayuda y termina
  -k, --keep-tokens             cambia la contraseña sólo si ha caducado
  -i, --inactive INACTIVO       establece la contraseña inactiva después de caducar a INACTIVO
  -l, --lock                    bloquea la contraseña de la cuenta indicada
  -n, --mindays DÍAS_MIN        establece el número mínimo de días antes de que se cambie la contraseña a DÍAS_MIN
  -q, --quiet                   modo silencioso
  -r, --repository REP          cambia la contraseña en el repositorio REP
  -R, --root CHROOT_DIR         directorio en el que hacer chroot
  -S, --status                  informa del estado de la contraseña la cuenta indicada
  -u, --unlock                  desbloquea la contraseña de la cuenta indicada
  -w, --warndays DÍAS_AVISO     establece el aviso de caducidad a DÍAS_AVISO
  -x, --maxdays DÍAS_MAX        establece el número máximo de días antes de cambiar la contraseña a DÍAS_MAX

Podría ser de Interés...

Como establecerlas permanentemente y modificarlas facilmente
Bash - Gnu/Linux
Linux un Kernel para GNU
Administrar servicios Linux - Listar - Ver Servicios Activos En Linux - Listar Procesos - Árbol de Procesos
Correr la TV como servicio del sistema
¿Cuál es la diferencia entre Linux y Windows?
Bubles, Iteraciones, en Bash Linux
Condicionalidad en el lenguaje Bash en Linux
Lectura de datos por consola en Bash Linux
Variables en el lenguaje Bash en Linux
Introducción al lenguaje Bash en Linux
GNU/Linux archivos y carpetas


www.compostela21.com
diariocompostela21@gmail.com
26/12/2024