Unix / Linux - Administración de usuarios
En este capítulo, discutiremos en detalle sobre la administración de usuarios en Unix.
Hay tres tipos de cuentas en un sistema Unix:
Cuenta raíz
Esto también se llama superusery tendría un control total y sin restricciones del sistema. Un superusuario puede ejecutar cualquier comando sin ninguna restricción. Este usuario debe asumirse como administrador del sistema.
Cuentas del sistema
Las cuentas del sistema son las necesarias para el funcionamiento de componentes específicos del sistema, por ejemplo, cuentas de correo y sshdcuentas. Estas cuentas generalmente son necesarias para alguna función específica en su sistema, y cualquier modificación a ellas podría afectar negativamente al sistema.
Cuentas de usuario
Las cuentas de usuario proporcionan acceso interactivo al sistema para usuarios y grupos de usuarios. Los usuarios generales generalmente se asignan a estas cuentas y generalmente tienen acceso limitado a los archivos y directorios críticos del sistema.
Unix admite un concepto de cuenta de grupo que agrupa lógicamente varias cuentas. Cada cuenta sería parte de otra cuenta grupal. Un grupo Unix juega un papel importante en el manejo de permisos de archivos y administración de procesos.
Administrar usuarios y grupos
Hay cuatro archivos principales de administración de usuarios:
/etc/passwd- Mantiene la información de cuenta de usuario y contraseña. Este archivo contiene la mayor parte de la información sobre cuentas en el sistema Unix.
/etc/shadow- Contiene la contraseña encriptada de la cuenta correspondiente. No todos los sistemas admiten este archivo.
/etc/group - Este archivo contiene la información del grupo para cada cuenta.
/etc/gshadow - Este archivo contiene información segura de la cuenta del grupo.
Verifique todos los archivos anteriores usando el cat mando.
La siguiente tabla enumera los comandos que están disponibles en la mayoría de los sistemas Unix para crear y administrar cuentas y grupos:
No Señor. | Comando y descripción |
---|---|
1 | useradd Agrega cuentas al sistema |
2 | usermod Modifica los atributos de la cuenta |
3 | userdel Elimina cuentas del sistema |
4 | groupadd Agrega grupos al sistema |
5 | groupmod Modifica los atributos del grupo |
6 | groupdel Elimina grupos del sistema |
Puede utilizar la Ayuda de la página de manual para comprobar la sintaxis completa de cada comando mencionado aquí.
Crear un grupo
Ahora entenderemos cómo crear un grupo. Para esto, necesitamos crear grupos antes de crear cualquier cuenta, de lo contrario, podemos hacer uso de los grupos existentes en nuestro sistema. Tenemos todos los grupos listados en/etc/groups archivo.
Todos los grupos predeterminados son grupos específicos de cuentas del sistema y no se recomienda usarlos para cuentas normales. Entonces, la siguiente es la sintaxis para crear una nueva cuenta de grupo:
groupadd [-g gid [-o]] [-r] [-f] groupname
La siguiente tabla enumera los parámetros:
No Señor. | Opción y descripción |
---|---|
1 | -g GID El valor numérico de la identificación del grupo. |
2 | -o Esta opción permite agregar un grupo con un GID no único |
3 | -r Esta bandera instruye groupadd para agregar una cuenta del sistema |
4 | -f Esta opción hace que simplemente se salga con estado de éxito, si el grupo especificado ya existe. Con -g, si el GID especificado ya existe, se elige otro GID (único) |
5 | groupname Nombre del grupo real que se creará |
Si no especifica ningún parámetro, el sistema utiliza los valores predeterminados.
El siguiente ejemplo crea un grupo de desarrolladores con valores predeterminados, que es muy aceptable para la mayoría de los administradores.
$ groupadd developers
Modificar un grupo
Para modificar un grupo, use el groupmod sintaxis -
$ groupmod -n new_modified_group_name old_group_name
Para cambiar el nombre del grupo developers_2 a desarrollador, escriba -
$ groupmod -n developer developer_2
Así es como cambiará el GID financiero a 545:
$ groupmod -g 545 developer
Eliminar un grupo
Ahora entenderemos cómo eliminar un grupo. Para eliminar un grupo existente, todo lo que necesita es elgroupdel command y el group name. Para eliminar el grupo financiero, el comando es:
$ groupdel developer
Esto elimina solo el grupo, no los archivos asociados con ese grupo. Los propietarios aún pueden acceder a los archivos.
Crea una cuenta
Veamos cómo crear una nueva cuenta en su sistema Unix. A continuación se muestra la sintaxis para crear una cuenta de usuario:
useradd -d homedir -g groupname -m -s shell -u userid accountname
La siguiente tabla enumera los parámetros:
No Señor. | Opción y descripción |
---|---|
1 | -d homedir Especifica el directorio de inicio de la cuenta. |
2 | -g groupname Especifica una cuenta de grupo para esta cuenta |
3 | -m Crea el directorio de inicio si no existe |
4 | -s shell Especifica el shell predeterminado para esta cuenta. |
5 | -u userid Puede especificar una identificación de usuario para esta cuenta |
6 | accountname Nombre de cuenta real que se creará |
Si no especifica ningún parámetro, el sistema utiliza los valores predeterminados. losuseradd comando modifica el /etc/passwd, /etc/shadowy /etc/group archivos y crea un directorio de inicio.
A continuación se muestra el ejemplo que crea una cuenta mcmohd, configurando su directorio de inicio en /home/mcmohd y el grupo como developers. Este usuario tendría asignado Korn Shell.
$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd
Antes de emitir el comando anterior, asegúrese de que ya haya creado el grupo de desarrolladores con elgroupadd mando.
Una vez que se crea una cuenta, puede establecer su contraseña utilizando el passwd comando de la siguiente manera:
$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
Cuando escribes passwd accountname, le da la opción de cambiar la contraseña, siempre que sea un superusuario. De lo contrario, puede cambiar solo su contraseña usando el mismo comando pero sin especificar el nombre de su cuenta.
Modificar una cuenta
los usermodEl comando le permite realizar cambios en una cuenta existente desde la línea de comando. Utiliza los mismos argumentos que eluseradd comando, más el argumento -l, que le permite cambiar el nombre de la cuenta.
Por ejemplo, para cambiar el nombre de la cuenta mcmohd a mcmohd20 y para cambiar el directorio de inicio en consecuencia, deberá ejecutar el siguiente comando:
$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20
Eliminar una cuenta
los userdelEl comando se puede utilizar para eliminar un usuario existente. Este es un comando muy peligroso si no se usa con precaución.
Solo hay un argumento u opción disponible para el comando .r, para eliminar el directorio de inicio y el archivo de correo de la cuenta.
Por ejemplo, para eliminar la cuenta mcmohd20 , ejecute el siguiente comando:
$ userdel -r mcmohd20
Si desea conservar el directorio de inicio para realizar copias de seguridad, omita el -ropción. Puede eliminar el directorio de inicio según sea necesario más adelante.