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.