Linux es un sistema operativo multiusuario, lo que significa que más de un usuario puede usar Linux al mismo tiempo. Una de las funciones más importantes de un administrador de sistemas es gestionar los usuarios y grupos en un sistema, esta puede llegar a ser una tarea compleja. Sin embargo, Linux nos proporciona un mecanismo hermoso para gestionar usuarios en el sistema.
Un usuario o cuenta de un sistema se identifica de forma única mediante un número denominado UID (número de identificación único). En Linux podremos encontrar básicamente tres tipos de usuarios:
Antes de comenzar a crear, modificar o borrar nuestros usuarios, conviene que sepamos cuáles son los ficheros en donde se almacena la información relativa a los usuarios en nuestro sistema. Básicamente tendremos dos ficheros principales, por un lado /etc/passwd/ y por otro /etc/shadow. Veamos más en detalle que contienen estos directorios:
En el fichero passwd se encuentran absolutamente todos los usuarios que contiene el sistema, root, especiales, y normales. Este fichero se podrá leer por todos los usuarios y solo será modificable por el usuario root. Para buscar dentro de él nuestro usuario podríamos hacer:
# grep “jose” /etc/passwd jose:x:1000:1000:jose,,,:/home/jose:/bin/bash
De esta forma veríamos la información relativa a nuestro usuario. Si nos fijamos, será una cadena de caracteres que están separados mediante “:” para delimitar los distintos campos:
Ya hicimos referencia a él en el apartado anterior. En este fichero se almacenan todas las claves de los usuarios existentes en el sistema, por supuesto encriptadas y con único acceso a él para ver el contenido del usuario root. Hagamos lo mismo que antes para ver la distribución de información sobre nuestro usuario:
# grep “jose” /etc/shadow jose:$6$d.O7lEiY$h.A5gNBMi95cUrZwxc603Wo5QYEbyCgGgLcP0nrR2l/4oBP/hy0AodEQ8eLyHv3/L7HlE2aEPP.7BX1hbgwFM.:17854:0:99999:7:::
Finalmente vamos a ver cómo están reflejados los permisos de usuario par estos dos ficheros:
# ls -l /etc/passwd /etc/shadow -rw-r--r-- 1 root root 2611 nov 26 15:00 /etc/passwd -rw-r----- 1 root shadow 1367 nov 26 15:00 /etc/shadow
Vemos que solamente root puede editar passwd, pero todos los usuarios pueden leerlo, en cambio shadow solamente puede ser leído por root y editado por nadie.
Sabiendo esto, ya sí que estamos en disposición de gestionar usuario de Linux debidamente.
Para la creación de usuarios en el sistema utilizaremos el comando “useradd”, que nos permitirá crear y añadir toda la información que hemos visto contenido en cada línea de /etc/passwd. Para poder ver todas las opciones de las que dispone este comando y su sintaxis escribimos:
useradd --help
Se puede agregar un usuario ejecutando el comando useradd en la terminal del sistema. Después de crear el usuario, configuramos una contraseña usando la utilidad passwd , de la siguiente manera:
[code] useradd yerita [/code] [code] passwd yeritaChanging password for user yerita.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[/code]
El sistema asigna automáticamente un UID al ejecutar useradd, crea el directorio de inicio ( /home /<username> ) y establece el shell predeterminado en /bin /bash . El comando también crea un grupo privado de usuario cada vez que se agrega un nuevo usuario al sistema y nombra el grupo después del usuario.
Como administrador de sistemas podemos usar la opción -c con useradd para especificar el nombre completo del usuario, como se muestra a continuación:
[code] useradd -c "Yeraldine Martinez" yerita [/code]También podemos crear un usuario con un UID personalizado con la opción -u, de la siguiente manera:
[code] useradd -u 1036 yerita [/code]Se puede establecer un directorio de inicio no predeterminado si ejecutamos el siguiente comando:
[code] useradd –d /home/test yerita [/code]Un administrador de sistemas puede especificar un grupo primario y uno suplementario especificando la opción -g y -G , respectivamente.
[code] useradd -g “programadores” -G “frontend” yerita [/code]Donde, “programadores” es el grupo primario y “frontend” un grupo suplementario, ya ustedes adaptaran el comando según sus necesidades.
Otra tarea que se puede realizar al gestionar usuarios en Linux es bloquear y desbloquear una cuenta de usuario. Para bloquear una cuenta, necesitamos invocar passwd con la opción -l.
[code] passwd -l yeritaLa opción -u con passwd desbloquea una cuenta, como vemos a continuación:
[code] passwd -u yeritaPara poder modificar un usuario que hayamos creado anteriormente utilizaremos el comando “usermod” el cual nos permitirá modificar todos los parámetros acerca del usuario en cuestión, por lo que es un complemento, por así decirlo de “useradd”. Como siempre, convienen mirar antes todas sus opciones para utilizarlo correctamente.
usermod --help
la opción -l con el comando usermod cambia el nombre de inicio de sesión (usuario), como se muestra a continuación:
[code]usermod -l “yerita_02” yerita [/code]Donde el argumento «yerita_02» es el nuevo nombre de usuario.
Para cambiar la clave de una cuenta de usuario, necesitaremos utilizar un comando específico llamado “passwd”. Si queremos modificar la contraseña de nuestro usuario, tendremos que escribir:
# passwd jose Introduzca la nueva contraseña de UNIX: Vuelva a escribir la nueva contraseña de UNIX: passwd: contraseña actualizada correctamente
También podremos hacerlo con el propio usuario colocando simplemente:
$ passwd Cambiando la contraseña de jose. (actual) contraseña de UNIX: Introduzca la nueva contraseña de UNIX: Vuelva a escribir la nueva contraseña de UNIX: Debe elegir una contraseña más larga Introduzca la nueva contraseña de UNIX:
Además, nos pedirá que coloquemos una contraseña de determinadas características, algo que no fue necesario si lo hicimos como root.
Podemos eliminar un usuario combinando userdel con la opción -r, como se muestra a continuación:
[code] userdel -r yerita [/code]Ya hemos visto que por defecto las contraseñas de los usuarios se almacenan en un fichero distinto a /etc/passwd. Esto principalmente se debe a que cualquier usuario puede acceder al contenido de passwd y ver, aunque sea encriptada la contraseña. Como podríamos suponer, existen programas que serán capaces de desencriptar esta información invirtiendo una determinada cantidad de tiempo. Por supuesto esto no ocurrirá si colocamos las contraseñas en un fichero aparte en donde solamente puede tener acceso el root.
Pero si no queremos tener ambos campos separados, y queremos introducir información de la contraseña en el passwd con la consiguiente eliminación del fichero /etc/shadow, también podremos hacerlo, y para esto sirven los comandos pwunconv y pwconv. Por supuesto habrá que utilizarlos con permisos de root. Si colocamos:
pwunconv
Estaremos pasando las claves de shadow a passwd y así lo demuestra la información:
# pwunconv # grep "jose" /etc/passwd jose:$6$RvpMGxqq$4BUdrCOypct6jMmyNCjtaPvnwPNwrpB0zc986GIgbJpbtvkiH/51.lpj7Q.9rFJ.lsMzOb2noY7ZMe2n9XO6q0:1000:1000:jose,,,:/home/jose:/bin/bash # grep "jose" /etc/shadow grep: /etc/shadow: No existe el archivo o el directorio
Para dejarlo todo como estaba colocamos:
# pwconv # grep "jose" /etc/passwd jose:x:1000:1000:jose,,,:/home/jose:/bin/bash # grep "jose" /etc/shadow jose:$6$RvpMGxqq$4BUdrCOypct6jMmyNCjtaPvnwPNwrpB0zc986GIgbJpbtvkiH/51.lpj7Q.9rFJ.lsMzOb2noY7ZMe2n9XO6q0:17892:0:99999:7:::
De esta forma podremos tener uno o dos archivos distintos para la gestión y seguridad de los usuarios.
Ya sabemos como administrar usuarios, pero es necesario que sepan también un poco sobre la administración o gestión de grupos de usuario en Linux. Los grupos son un mecanismo que nos provee Linux para organizar una colección de usuarios. Al igual que el ID de usuario, cada grupo también está asociado con un ID único llamado GID (ID de grupo).
Hay dos tipos de grupos:
Cada usuario es miembro de un grupo primario y puede no tener grupos suplementarios o tener más de uno. La información del grupo se almacena en /etc /group y las contraseñas respectivas se almacenan en el archivo /etc /gshadow.
En este fichero tendremos todo lo referente a la configuración de grupos.
grep “root” /etc/group root:x:0:
Por su parte la estrucutra de /etc/gshadow es similar al fichero de contraseñas de usuario, aunque bastante más simple:
grep “jose” /etc/gshadow jose:!::
Veamos algunas de las operaciones, como crear, eliminar y modificar un grupo:
Para agregar un nuevo grupo con la configuración predeterminada, ejecutamos el comando groupadd como usuario root, como se muestra a continuación:
[code] groupadd empleados [/code]Si deseas agregar una contraseña, escribes gpasswd con el nombre del grupo, de la siguiente manera:
[code] gpasswd empleados&nbsp;Changing the password for group empleados&nbsp;
New Password:
Re-enter new password:
[/code]
Te solicitara ingresar la contraseña dos veces.
Para especificar explícitamente el GID de un grupo, ejecutas el comando groupadd con la opción -g, de la siguiente manera:
[code] groupadd -g 1200 "gerentes" [/code]Para eliminar una contraseña de grupo, ejecute gpasswd -r con el nombre del grupo en cuestión, de la siguiente manera:
[code]gpasswd -r empleados [/code]Para cambiar el nombre del grupo, ejecutamos el comando groupmod con la opción -n como superusuario, como se muestra a continuación:
[code] groupmod -n nuevos_empleados empleados [/code]Donde los argumentos son el nuevo nombre y el grupo al que se va afectar, respectivamente.
Para cambiar el GID de un grupo, ejecute el comando groupmod con -g, de la siguiente manera:
[code] groupmod -g 1050 gerentes [/code]Antes de eliminar un grupo primario, debes eliminar los usuarios de ese grupo. Posteriormente, para eliminar el grupo, ejecutamos el comando groupdel con el nombre del grupo, como se muestra a continuación:
[code] groupdel empleados [/code]Si desea saber mucho más sobre cómo gestionar usuarios y grupos en Linux, puedes consultar la documentación oficial de la distribución que estés usando.
Pero como has visto en nuestra guía, el proceso no es tan complejo.
Esta web utiliza cookies propias con finalidad funcional y de terceros para realizar el análisis de la navegación de los usuarios, mejorar mis servicios y mostrarte publicidad relacionada con tus preferencias mediante el análisis de tus hábitos de navegación. Si continúa navegando, se considera que acepta su uso.
Leer más