GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo administrar usuarios y grupos en FreeIPA Server

Después de instalar el servidor FreeIPA e inicializar el ticket de kerberos, querrá realizar la gestión de identidad a continuación, que comienza con la creación de grupos y usuarios.

Requisitos

Para esta guía, necesitará un servidor freeipa en funcionamiento. Consulte estas guías sobre cómo configurar el servidor freeipa:

  • Cómo instalar y configurar FreeIPA en Rocky Linux/Centos 8
  • Cómo configurar la replicación FreeIPA en Rocky Linux/Alma Linux/Centos 8

Para continuar, también debe tener un boleto Kerberos válido. Genere un ticket para el principal usando esto:

kinit [principal]

Esto es para mi usuario administrador:

$ kinit admin
Password for [email protected]:

Confirme la validación del ticket enumerando los tickets de Kerberos almacenados en caché con este comando:

$ klist
Ticket cache: KCM:1000
Default principal: [email protected]

Valid starting       Expires              Service principal
12/02/2021 21:38:40  12/03/2021 20:58:27  krbtgt/[email protected]

La vida útil predeterminada del ticket es de 24 horas.

Contenido relacionado

  • Cómo instalar el cliente FreeIPA en Rocky Linux/Alma Linux/CentOS 8
  • Cómo instalar y configurar el cliente FreeIPA en Ubuntu 20.04
  • Cómo instalar el cliente FreeIPA en Fedora 35

Gestión de grupos en FreeIPA

En FreeIPA, un grupo de usuarios es un conjunto de usuarios con políticas de contraseña, privilegios y otras características comunes. Un grupo de usuarios puede incluir:

  1. Usuarios de FreeIPA
  2. Otros grupos de usuarios
  3. Usuarios externos , es decir, usuarios que existen fuera del dominio FreeIPA

Los tipos de grupos admitidos son:

  • Grupos POSIX  – Este es el tipo predeterminado que admite los atributos POSIX de Linux para los miembros del grupo. Los grupos que interactúan con Active Directory no pueden usar atributos POSIX (por ejemplo, uidNumbergidNumber )
  • Grupos no POSIX – Estos no admiten atributos POSIX. Por ejemplo, no tienen GID.
  • Grupos externos – Se usa para agregar miembros del grupo que existen en un almacén de identidades fuera del dominio FreeIPA, como [sistema localDominio de Active Directory o un directorio se servicio]. Estos grupos no admiten atributos POSIX.

Los siguientes grupos se crean de forma predeterminada en la instalación y configuración del servidor FreeIPA:

  • administradores – Consistir en todos los usuarios con privilegios administrativos, incluido el administrador predeterminado. usuario
  • ipausers – Consistir en todos los usuarios de FreeIPA
  • administradores de confianza – Usuarios con privilegios para administrar las confianzas de Active Directory

Cuando se agrega un usuario a un grupo de usuarios, el usuario obtiene los privilegios y las políticas asociadas con el grupo

Agregar grupo de usuarios en FreeIPA

Use este comando para agregar un grupo llamado qa en FreeIPA

ipa group-add --desc='QA Engineers' qa

Esta es la salida en mi servidor

$ ipa group-add --desc='QA Engineers' qa
----------------
Added group "qa"
----------------
  Group name: qa
  Description: QA Engineers
  GID: 1063800004

De forma predeterminada, el comando anterior agrega un grupo de usuarios POSIX. Para especificar un tipo de grupo diferente, agregue como opción al comando:

# Create an external group
$ ipa group-add --external groupname 

# Create a non-POSIX group
$ ipa group-add --nonposix groupname
Uso de ID de grupo personalizado

Para especificar un ID de grupo personalizado (GID), use la opción gid=custom_GID

$ ipa group-add gid=custom_GID groupname

Pero tendrás que tener cuidado para evitar conflictos de ID.

Buscando grupos de usuarios

Mostrar todos los grupos de usuarios:

$ ipa group-find
----------------
5 groups matched
----------------
  Group name: admins
  Description: Account administrators group
  GID: 1063800000

  Group name: editors
  Description: Limited admins who can edit other users
  GID: 1063800002

  Group name: ipausers
  Description: Default group for all users

  Group name: qa
  Description: QA Engineers
  GID: 1063800004

  Group name: trust admins
  Description: Trusts administrators group
----------------------------
Number of entries returned 5
----------------------------

Mostrar todos los grupos no POSIX:

$ ipa group-find --nonposix
----------------
2 groups matched
----------------
  Group name: ipausers
  Description: Default group for all users

  Group name: trust admins
  Description: Trusts administrators group
----------------------------
Number of entries returned 2
----------------------------

Mostrar todos los grupos POSIX:

$ ipa group-find --posix
----------------
3 groups matched
----------------
  Group name: admins
  Description: Account administrators group
  GID: 1063800000

  Group name: editors
  Description: Limited admins who can edit other users
  GID: 1063800002

  Group name: qa
  Description: QA Engineers
  GID: 1063800004
----------------------------
Number of entries returned 3
----------------------------

Mostrar todo el grupo externo:

$ ipa group-find --external
----------------
0 groups matched
----------------
----------------------------
Number of entries returned 0
----------------------------

Buscar cuentas de grupo FreeIPA.

ipa group-find development

También puede limitar los resultados de búsqueda a grupos que contengan un usuario en particular:

$ ipa group-find --user=user_name

Lo contrario es cierto cuando se buscan grupos que no contienen un usuario en particular:

$ ipa group-find --no-user=user_name

Agregue miembros a una cuenta de grupo FreeIPA.

ipa group-add-member --users=jdoe qa

Agregue el grupo FreeIPA al grupo FreeIPA anidado

ipa group-add-member --groups=development engineering

Eliminar cuentas de grupo FreeIPA.

ipa group-del qa

Administración de usuarios en FreeIPA

Agregar una cuenta de usuario de FreeIPA

La sintaxis del comando es:

$ ipa user-add

Estos son los  ipa user-add de uso común opciones de comando:

  • –first=STR – Nombre del usuario
  • –último=STR  – Apellido del usuario
  • –cn=STR – Nombre completo de la cuenta de usuario
  • –homedir=STR – Directorio de inicio
  • –shell=STR – Consola de inicio de sesión
  • –email=STR – Dirección de correo electrónico
  • –contraseña – Solicitud para establecer la contraseña de usuario
  • –móvil=STR – Número de teléfono móvil

El comando ejecuta un script donde puede agregar los datos básicos necesarios para crear una cuenta de usuario.

$ ipa user-add
First name: John
Last name: Doe
User login [jdoe]: jdoe
-----------------
Added user "jdoe"
-----------------
  User login: jdoe
  First name: John
  Last name: Doe
  Full name: John Doe
  Display name: John Doe
  Initials: JD
  Home directory: /home/jdoe
  GECOS: John Doe
  Login shell: /bin/bash
  Principal name: [email protected]
  Principal alias: [email protected]
  Email address: [email protected]
  UID: 1063800005
  GID: 1063800005
  Password: False
  Member of groups: ipausers
  Kerberos keys available: False

No se establece una contraseña de usuario mientras se crea la cuenta de usuario.

Para asignar una contraseña al usuario, use el comando ipa para agregar al usuario con la siguiente opción:

Primero elimine el usuario

$ ipa user-del jdoe
-------------------
Deleted user "jdoe"
-------------------

Luego crea el usuario especificando la contraseña

$ ipa user-add --first=John --last=Doe --password jdoe
Password:
Enter Password again to verify:
-----------------
Added user "jdoe"
-----------------
  User login: jdoe
  First name: John
  Last name: Doe
  Full name: John Doe
  Display name: John Doe
  Initials: JD
  Home directory: /home/jdoe
  GECOS: John Doe
  Login shell: /bin/bash
  Principal name: [email protected]
  Principal alias: [email protected]
  User password expiration: 20211202190348Z
  Email address: [email protected]
  UID: 1063800006
  GID: 1063800006
  Password: True
  Member of groups: ipausers
  Kerberos keys available: True

Para cambiar la contraseña de una cuenta de usuario de FreeIPA

$ ipa passwd jdoe
New Password:
Enter New Password again to verify:
-------------------------------------------
Changed password for "[email protected]"
-------------------------------------------

Bloquear cuenta de usuario

$ ipa user-disable jdoe
----------------------------
Disabled user account "jdoe"
----------------------------

Desbloquear cuenta de usuario

$ ipa user-enable jdoe
---------------------------
Enabled user account "jdoe"
---------------------------

Buscar cuentas de usuario de FreeIPA

$ ipa user-find jdoe
--------------
1 user matched
--------------
  User login: jdoe
  First name: John
  Last name: Doe
  Home directory: /home/jdoe
  Login shell: /bin/bash
  Principal name: [email protected]
  Principal alias: [email protected]
  Email address: [email protected]
  UID: 1063800006
  GID: 1063800006
  Account disabled: False
----------------------------
Number of entries returned 1
----------------------------

Mostrar usuario sin formato en freeipa

$ ipa user-show --raw jdoe
  uid: jdoe
  givenname: John
  sn: Doe
  homedirectory: /home/jdoe
  loginshell: /bin/bash
  krbcanonicalname: [email protected]
  krbprincipalname: [email protected]
  mail: [email protected]
  uidnumber: 1063800006
  gidnumber: 1063800006
  nsaccountlock: FALSE
  has_password: TRUE
  has_keytab: TRUE

Para cambiar la información de usuario creada, use la sintaxis del comando:

$ ipa [global-options] user-mod LOGIN

Para modificar la contraseña

$ ipa user-mod --password jdoe
Password:
Enter Password again to verify:
--------------------
Modified user "jdoe"
--------------------
  User login: jdoe
  First name: John
  Last name: Doe
  Home directory: /home/jdoe
  Login shell: /bin/bash
  Principal name: [email protected]
  Principal alias: [email protected]
  Email address: [email protected]
  UID: 1063800006
  GID: 1063800006
  Account disabled: False
  Password: True
  Member of groups: ipausers
  Kerberos keys available: True

Eliminar cuentas de usuario de FreeIPA

ipa user-del jdowe

Agregue un miembro a un grupo de usuarios usando la sintaxis del comando:

ipa [global-options] group-add-member GROUP-NAME [options]

Opciones comunes:

  • –usuarios=STR – Usuarios para agregar al grupo
  • –groups=STR – Grupos para agregar al grupo nombrado
  • –services=STR  – Servicios para agregar al grupo
  • –externo=STR Miembros de un dominio de confianza en DOM\nombre o forma [email protected] 

Vea los ejemplos a continuación sobre cómo agregar usuarios/grupos a un grupo

Añade el usuario jdoe como miembro administrador de qa :

$ ipa group-add-member qa --users=jdoe
  Group name: qa
  Description: QA Engineers
  GID: 1063800004
  Member users: jdoe
-------------------------
Number of members added 1
-------------------------

Agregar un usuario como administrador de miembros a un grupo de usuarios

$ ipa group-add-member-manager developers --users=jdoe
  Group name: developers
  GID: 106380005
  Membership managed by users: jdoe
-------------------------
Number of members added 1
-------------------------

Usuario jdoe ahora puede administrar miembros de desarrolladores .

O añade el grupo qa como miembro administrador de desarrolladores :

$ ipa group-add-member-manager developers --groups=qa
  Group name: developers
  GID: 320800004
  Membership managed by groups: qa
  Membership managed by users: jdoe
-------------------------
Number of members added 1
-------------------------

$ ipa group-show devops
  Group name: developers
  GID: 320800004
  Membership managed by groups: qa
  Membership managed by users: jdoe

Grupo qa luego podrá administrar miembros de desarrolladores .

Agregar agregar como miembro de otro grupo

Agregar agregar group_b como miembro de group_a:

$ ipa group-add-member group_a --groups=group_b

Eliminar un miembro de un grupo de usuarios

Primero confirme que el grupo incluye al miembro que desea eliminar.

ipa group-show

Eliminar un miembro de un grupo de usuarios mediante ipa group-remove-member comando al especificar miembros para eliminar usando estas opciones:

  • --users elimina un usuario de FreeIPA
  • --external elimina un usuario que existe fuera del dominio FreeIPA, en el formato DOMAIN\user_name[email protected]
  • --groups elimina un grupo de usuarios

Por ejemplo, para eliminar jmutai de un grupo llamado sysadmins :

$ ipa group-remove-member qa --users=jdoe
  Group name: qa
  GID: 320800003
---------------------------
Number of members removed 1
---------------------------

Eliminar usuario1usuario2grupo1 de un grupo llamado group_name :

ipa group-remove-member group_name --users=user1 --users=user2 --groups=group1

Eliminar usuarios o grupos como administradores de miembros de un grupo de usuarios

Sintaxis del comando:

 ipa group-remove-member-manager GROUP-NAME [options]

opciones a utilizar:

  • –usuarios=STR usuarios a eliminar
  • –groups=STR grupos para eliminar

Por ejemplo, para eliminar el usuario usuario1 como miembro administrador del grupo1 :

$ ipa group-remove-member-manager group1 --users=user1

Eliminar los administradores de sistemas del grupo como administrador de miembros de devops:

$ ipa group-remove-member-manager developers --groups=qa
  Group name: developers
  GID: 320800004
  Membership managed by users: jdoe
---------------------------
Number of members removed 1
---------------------------

El grupo y su miembro no podrán administrar los miembros del grupo de desarrolladores después de la eliminación.

Agregar usuarios locales existentes al directorio de FreeIPA.

Establezca la misma contraseña con el nombre de usuario en este ejemplo, pero se requiere cambiar en el inicio de sesión inicial

# extract local users who have 1000-9999 digit UID
# this is an example
#!/bin/bash

for line in `grep "x:[1-9][0-9][0-9][0-9]:" /etc/passwd`
do
   USER=`echo $line | cut -d: -f1`
   FIRST=`echo $line | cut -d: -f5 | awk {'print $1'}`
   LAST=`echo $line | cut -d: -f5 | awk {'print $2'}`

   [ ! "$FIRST" ] && FIRST=$USER
   [ ! "$LAST" ] && LAST=$USER

   echo $USER | ipa user-add $USER --first=$FIRST --last=$LAST --password
done


Linux
  1. Cómo administrar y enumerar servicios en Linux

  2. Administrar usuarios de Linux y grupos de Linux

  3. Cómo trabajar con usuarios y grupos en Linux

  4. Administrar grupos de usuarios de Linux

  5. Administrar grupos y reglas de seguridad

Cómo enumerar grupos en Linux

Usuarios y grupos LDAP

Cómo enumerar usuarios y grupos en Linux

¿Cómo agrego y administro usuarios FTP adicionales?

Cómo crear y administrar nuevos usuarios en Linux

¿Cómo crear Usuarios y Grupos en CentOS7?