Administración de usuarios y grupos en Linux

El usuario administrador de todos los sistemas UNIX se llama «root» y tiene uid 0. Este es un estándar globalizado en cualquier tipo de UNIX (RedHat, Aix, Solaris, HP-UX…).

[root]# id
uid=0(root) gid=0(root) groups=0(root)
[root]#

Por lo tanto, es muy importante que no iniciemos sesión con el usuario root, salvo cuando sea necesario para la administración del sistema y custodiemos su contraseña de manera segura.

Permisos de lectura, escritura y ejecución

Si le echamos un vistazo a cualquier archivo en cualquier UNIX, veremos que todos ellos tienen permisos de lectura, escritura y ejecución a nivel de usuario, grupo y resto de usuarios.

# ls -l script.sh
-rwxr-x— 1 usuario1 grusuarios 7 nov 3 16:10 script.sh
#

En el ejemplo anterior, observamos que el fichero «script.sh» tiene los siguientes permisos:

  • Lectura, escritura y ejecución (rwx) para el propietario del archivo.
  • Lectura y ejecución (r-x) para el grupo al que pertenece el archivo.
  • Ningún permiso (—) para el resto de usuarios del sistema.
  • El usuario propietario del archivo se llama «usuario1» y el grupo «grusuarios».

Es muy importante que demos los permisos correspondientes a todos los archivos del sistema para que solamente puede leer, escribir o ejecutar aquellos usuarios que han de hacerlo. Si no extremamos las precauciones de permisos, seremos sensibles a ataques de hackers.

Si el viésemos una «d» al principio de los permisos, nos estaríamos refiriendo a los permisos de un directorio y no de un archivo.

Solamente el usuario root puede crear, modificar y eliminar usuarios y grupos de sistema.

Crear un grupo de usuarios

Para ellos, utilizaremos el comando groupadd.

groupadd -g 601 grusuario
#

Tras añadir el grupo, veremos que se ha creado una entrada nueva en el fichero /etc/group.

# grep usuario1 /etc/group 
grusuario:x:601: 
#

Crear un usuario nuevo

Es muy parecido a la creación de grupos, sólo que utilizaremos el comando useradd para añadir usuarios al sistema Linux:

# useradd -c "Mi primer usuario" -d /home/usuario1 -g 601 -u 601 usuario1

Podemos observar, que hemos añadido un comentario al usuario que hemos creado (-c), indicado cuál es el directorio home del usuario, (-d) el grupo al que pertenece (-g), el uid del usuario (-u) y, por úlitmo, el nombre del usuario.

Con -G (mayúscula) podemos añadir el usuario a grupos secundarios, ya que un usuario de Linux puede pertenecer a más de un grupo de sistema.

Una vez creado el usuario, veremos que se ha añadido una entrada nueva en el fichero /etc/passwd:

# cat /etc/passwd |grep usuario1 
usuario1:x:601:601:Mi primer usuario:/home/usuario1:/bin/bash
#

Eliminar un usuario en Linux

Para ello, utilizaremos el comando userdel o, sudo userdel si no hemos entrado con root y tenemos privilegios para ejecutar el comando con sudo.

# userdel -r usuario1

Eliminar un grupo

Ejecutaremos el comando groupdel Nombre_del_grupo.

Modificar la contraseña de un usuario

Si somos root y queremos modificar la contraseña de un usuario, ejecutaremos el comando passwd Usuario.  Si no somos los administradores del sistema, ejecutaremos el comando passwd sin ningún otro parámetro. Lo que hará será modificar la contraseña de nuestro usuario.

# passwd 
Cambiando la contraseña del usuario usuario1. 
Cambiando la contraseña de usuario1. 
(actual) contraseña de UNIX: 
Nueva UNIX contraseña: 
Vuelva a escribir la nueva UNIX contraseña: 
passwd: todos los tokens de autenticación se actualizaron exitosamente.
#

Averiguar el UID y el GID de los usuarios y grupos

Anteriormente, hemos visto que en los ficheros /etc/passwd y /etc/group están definidos los usuarios y grupos, así como sus correspondientes UIDs y GIDs. Sin embargo, a mi gusta mucho utilizar el comando id.

# id hpddpers
uid=8402895(hpddpers) gid=45005(uxsup3) groups=45005(uxsup3)
#

Cambiar de un usuario a otro

Si conocemos la contraseña del usuario al que nos queremos cambiar y no somos root, utilizaremos el comando «su – usuario». Con el símbolo menos cargamos las variables de entorno del usuario como si iniciásemos una sesión nueva con el mismo.

Ejemplo:

[[email protected] ~]$ id 
uid=601(usuario1) gid=601(usuario1) grupos=601(grusuario) [[email protected] ~]$ su David Contraseña: 
[[email protected] usuario1]$ id 
uid=500(David) gid=500(David) grupos=6(disk),500(David) 
[[email protected] usuario1]$

Chequear la sintaxis de los ficheros de configuración de usuarios y grupos

No deberíamos modificar manualmente los ficheros de configuración de usuarios y grupos. Siempre lo deberíamos hacer con los comandos usermod y groupmod, respectivamente.

No obstante, si lo hemos hecho, es conveniente revisar que la sintaxis de ambos ficheros es correcta.

# pwck 
usuario adm: el directorio /var/adm no existe usuario uucp: el directorio /var/spool/uucp no existe usuario gopher: el directorio /var/gopher no existe usuario ftp: el directorio /var/ftp no existe 
usuario avahi-autoipd: el directorio /var/lib/avahi-autoipd no existe pwck: sin cambios 
# grpck 
'David' is a member of the 'disk' group in /etc/group but not in /etc/gshadow
#

Modificar un usuario

Con el comando usermod podremos bloquear o desbloquear un usuario, cambiar su shell, su directorio home, grupos a los que pertenece, etc. Con man usermod veremos todos los detalles de lo que podemos cambiar. A continuación, expongo algunos ejemplos de uso:

Añadir más grupos a un usuario:

usermod -a -G grupo1,grupo2,grupoN usuario

Bloquear y desbloquear un usuario:

[[email protected] ~]# tail -1 /etc/shadow
prueba:$1$6J4Lozrd$aoawp2qogf1vg87UhRMDy/:12822:0:99999:7:::
[[email protected] ~]# usermod -L prueba
[[email protected] ~]# tail -1 /etc/shadow
prueba:!$1$6J4Lozrd$aoawp2qogf1vg87UhRMDy/:12822:0:99999:7:::
[[email protected] ~]# usermod -U prueba
[[email protected] ~]# tail -1 /etc/shadow
prueba:$1$6J4Lozrd$aoawp2qogf1vg87UhRMDy/:12822:0:99999:7:::
[[email protected] ~]#

El carácter “!” al en el campo de la contraseña encriptada, del fichero shadow indica que la cuenta está bloqueada.

Eliminar la expiración de contraseña:

# usermod -e brightst
# chage -l brightst
Last password change : abr 24, 2009
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
#

Eliminar la shell a un usuario:

# usermod -s nologin david

Modificar el uid de un usuario:

# usermod -u 0 david

Modificar un grupo

Es muy similar a la modificación de un usuario, sólo que el comando que utilizamos es groupmod.

Ejemplo:

# groupmod -g 200 -n sapsys sapasys
# usermod -u 111001 -g 200 paxadm
# id paxadm
uid=111001(paxadm) gid=200(sapsys) groups=200(sapsys)
#

Eliminar la expiración de contraseña de un usuario

Ejecutaremos el comando chage.

# chage -E -1 -M -1 orausertemp
# chage -l orausertemp
Last password change : Sep 14, 2017
Password expires : never
Password inactive : never
Account expires : Jan 20, 11761191
Minimum number of days between password change : 1
Maximum number of days between password change : -1
Number of days of warning before password expires : 7
#

Te puede interesar

¿Te ha gustado? ¡Compártelo!

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

SUSCRÍBETE A PUERTO53

Recibe un email periódico con los artículos más interesantes de Puerto53.com

Antes de suscribirte lee los términos y condiciones. Gracias.

Contenido Relacionado

Este es un blog de informática. ¿Qué necesita un informático?

Portátiles

Rebajas
Lenovo S145-15IIL - Ordenador portátil 15.6" FullHD (Intel Core i5-1035G1, 8GB RAM, 512GB...
  • Pantalla de 15.6" FullHD 1920x1080 pixeles 220nits Anti-glare
  • Procesador Intel Core I5-1035G1, QuadCore, 1.0-3.6GHz
  • Memoria RAM de 4GB Soldered + 4GB DIMM DDR4-2666
Lenovo S145-15AST - Ordenador portátil 15.6" FullHD (AMD A9-9425, 8GB de RAM, 512GB SSD,...
  • Pantalla de 15,6"fullhd 1920x1080 pixeles
  • Procesador amd a9-9425, dualcore 3.1ghz hasta 3.7ghz, 1m
  • Memoria ram de 8gddr4, 2133mhz
Rebajas
HP 15s-eq0004ns - Ordenador portátil de 15.6" HD (AMD Ryzen 3 3200U, 8 GB RAM, 256 GB,...
  • Procesador AMD Ryzen 3 3200U (2 núcleos, 5 MB de Caché, 2.6 GHz hasta 3.5 GHz)
  • Memoria RAM de 8 GB DDR4, 2400 MT/s
  • Disco SSD de 256 GB PCIe NVMe M.2
Rebajas
Lenovo S145-15AST- Ordenador portátil 15.6" FullHD (AMD A9-9425, 8GB RAM, 256GB SSD, AMD...
  • Pantalla de 15.6" FullHD 1920x1080 pixeles 220nits Anti-glare
  • Procesador AMD A9-9425, DualCore, 3.1GHz-3.7GHz
  • Memoria RAM de 8GB DIMM DDR4, 2133Mhz

Monitores PC

HP 22w - Monitor 21.5" (Full HD, 1920 x 1080 pixeles, tiempo de respuesta de 5 ms, 1 x...
  • Regálale a tu escritorio un toque de elegancia
  • Esta pantalla IPS de 53.61 cm (21,5 pulgadas) en diagonal dispone de 178 ángulos de visualización para ofrecer una experiencia de entretenimiento...
  • Con los puertos VGA y HDMI, esta pantalla hace que conectar tu ordenador portátil o pc de sobremesa sea una tarea sencilla y fluida
Rebajas
Samsung LC24F390FHU - Monitor para PC Desktop de 24'' (1920 x 1080 pixeles, Full HD, HD...
  • Pantalla de 24 pulgadas con una resolución de 1920 x 1080 píxeles
  • Brillo de pantalla: 250 cd / m²
  • Interfaz de montaje VESA 75 x 75 mm
Rebajas
BenQ GW2470HL - Monitor para PC Desktop de 23.8" Full HD (1920x1080, VA, 16:9, 2x HDMI,...
  • Los niveles ajustables de baja luz azul eliminan la luz azul peligrosa y mantienen la luz beneficiosa para una comodidad de visualización prolongada
  • Disfruta de gráficos nítidos con una resolución de 1920 x 1080
  • Minimiza las distracciones y crea una configuración de varios paneles con monitores de bisel estrecho

NAS

Rebajas
Western Digital My Cloud Home - Almacenamiento En Red NAS de 3 TB, 1 Bahía, Blanco y...
  • Configuración sencilla y rápida desde el teléfono
  • Acceso desde cualquier lugar con la aplicación para móviles o para ordenadores de My Cloud Home, o bien desde MyCloud.com
  • Copia de seguridad automática de las fotos y los vídeos del teléfono
Synology Diskstation DS218+ - Memoría externa DS218+ NAS 2bay
  • Procesador de doble núcleo con aceleración de cifrado AES-NI
  • No lleva disco
  • Admite la transcodificación 4K en tiempo real
Synology DS218J Diskstation
  • A versatile entry-level 2-bay NAS for home and personal cloud storage
  • Over 113 MB/s reading, 112 MB/s writing
  • Dual-core CPU with hardware encryption engine
Synology diskstation ds120j.
  • Almacenamiento de 1 bahía fácil de usar en una nube personal para usuarios de nas inexpertos
  • Rendimiento secuencial más de 112 mb/s de lectura, 106 mb/s de escritura
  • Plataforma para compartir archivos y sincronización entre dispositivos

Deja un comentario

About Author