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:
- Usuarios de FreeIPA
- Otros grupos de usuarios
- 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, uidNumber y gidNumber )
- 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 local , Dominio 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 formatoDOMAIN\user_name
o[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 usuario1 , usuario2 y grupo1 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