Dopo aver installato il server FreeIPA e aver inizializzato il ticket kerberos, vorresti quindi eseguire la gestione dell'identità, che inizia con la creazione di gruppi e utenti.
Prerequisiti
Per questa guida, avrai bisogno di un server freeipa funzionante. Dai un'occhiata a queste guide su come configurare il server freeipa:
- Come installare e configurare FreeIPA su Rocky Linux/Centos 8
- Come configurare la replica FreeIPA su Rocky Linux/Alma Linux/Centos 8
In alto procedi, devi anche avere un biglietto kerberos valido. Genera ticket per il principale utilizzando questo:
kinit [principal]
Questo è per il mio utente amministratore:
$ kinit admin
Password for [email protected]:
Conferma la convalida del ticket elencando i ticket Kerberos memorizzati nella cache utilizzando questo 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 durata predefinita del biglietto è 24 ore
Contenuti correlati
- Come installare il client FreeIPA su Rocky Linux/Alma Linux/CentOS 8
- Come installare e configurare il client FreeIPA su Ubuntu 20.04
- Come installare il client FreeIPA su Fedora 35
Gestione dei gruppi in FreeIPA
In FreeIPA, un gruppo di utenti è un insieme di utenti con criteri di password, privilegi e altre caratteristiche comuni. Un gruppo di utenti può includere:
- Utenti di FreeIPA
- Altri gruppi di utenti
- Utenti esterni , ovvero utenti che esistono al di fuori del dominio FreeIPA
I tipi di gruppo supportati sono:
- Gruppi POSIX – Questo è il tipo predefinito che supporta gli attributi POSIX Linux per i membri del gruppo. I gruppi che interagiscono con Active Directory non possono utilizzare gli attributi POSIX (ad es. uidNumber e gidNumber )
- Gruppi non POSIX – Questi non supportano gli attributi POSIX. Ad esempio, non hanno GID.
- Gruppi esterni – Utilizzato per aggiungere membri del gruppo che esistono in un archivio di identità al di fuori del dominio FreeIPA, come [sistema locale , Dominio di Active Directory o una directory se servizio]. Questi gruppi non supportano gli attributi POSIX.
I gruppi seguenti vengono creati per impostazione predefinita durante l'installazione e la configurazione di FreeIPA Server:
- amministratori – Composto da tutti gli utenti con privilegi di amministratore, incluso l'amministratore predefinito utente
- ipauser – Composto da tutti gli utenti di FreeIPA
- affida agli amministratori – Utenti con privilegi per gestire i trust di Active Directory
Quando un utente viene aggiunto a un gruppo di utenti, l'utente ottiene i privilegi e le politiche associati al gruppo
Aggiungi gruppo utenti in FreeIPA
Usa questo comando per aggiungere un gruppo chiamato qa
in FreeIPA
ipa group-add --desc='QA Engineers' qa
Questo è l'output sul mio server
$ ipa group-add --desc='QA Engineers' qa
----------------
Added group "qa"
----------------
Group name: qa
Description: QA Engineers
GID: 1063800004
Per impostazione predefinita, il comando precedente aggiunge un gruppo di utenti POSIX. Per specificare un tipo di gruppo diverso, aggiungi come opzione al comando:
# Create an external group $ ipa group-add --external groupname # Create a non-POSIX group $ ipa group-add --nonposix groupname
Utilizzo dell'ID gruppo personalizzato
Per specificare un ID gruppo (GID) personalizzato, utilizza l'opzione gid=custom_GID
$ ipa group-add gid=custom_GID groupname
Ma dovrai stare attento a evitare conflitti di ID.
Ricerca di gruppi di utenti
Visualizza tutti i gruppi di utenti:
$ 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 ----------------------------
Visualizza tutti i gruppi non 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 ----------------------------
Visualizza tutti i gruppi 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
----------------------------
Visualizza tutti i gruppi esterni:
$ ipa group-find --external
----------------
0 groups matched
----------------
----------------------------
Number of entries returned 0
----------------------------
Cerca account di gruppo FreeIPA.
ipa group-find development
Puoi anche limitare i risultati della ricerca ai gruppi che contengono un particolare utente:
$ ipa group-find --user=user_name
L'inverso è vero quando si cercano gruppi che non contengono un particolare utente:
$ ipa group-find --no-user=user_name
Aggiungi membri a un account di gruppo FreeIPA.
ipa group-add-member --users=jdoe qa
Aggiungi il gruppo FreeIPA al gruppo FreeIPA nidificato
ipa group-add-member --groups=development engineering
Rimuovi gli account di gruppo FreeIPA.
ipa group-del qa
Gestire gli utenti in FreeIPA
Aggiungi un account utente FreeIPA
La sintassi del comando è:
$ ipa user-add
Questi sono gli ipa user-add comunemente usati opzioni di comando:
- –first=STR – Nome dell'utente
- –last=STR – Cognome dell'utente
- –cn=STR – Nome completo dell'account utente
- –homedir=STR – Rubrica principale
- –shell=STR – Shell di accesso
- –email=STR – Indirizzo e-mail
- –password – Richiedi di impostare la password utente
- –mobile=STR – Numero di cellulare
Il comando esegue uno script in cui puoi aggiungere i dati di base necessari per creare un account utente.
$ 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
Non è stata impostata una password utente durante la creazione dell'account utente.
Per assegnare all'utente una password, utilizzare il comando ipa per aggiungere l'utente con l'opzione seguente:
Per prima cosa elimina l'utente
$ ipa user-del jdoe
-------------------
Deleted user "jdoe"
-------------------
Quindi crea l'utente specificando la password
$ 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
Per cambiare la password per un account utente FreeIPA
$ ipa passwd jdoe
New Password:
Enter New Password again to verify:
-------------------------------------------
Changed password for "[email protected]"
-------------------------------------------
Blocca l'account utente
$ ipa user-disable jdoe
----------------------------
Disabled user account "jdoe"
----------------------------
Sblocca l'account utente
$ ipa user-enable jdoe
---------------------------
Enabled user account "jdoe"
---------------------------
Cerca gli account utente di 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
----------------------------
Mostra utente non elaborato in 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
Per modificare le informazioni utente create, usa la sintassi dei comandi:
$ ipa [global-options] user-mod LOGIN
Per modificare la password
$ 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
Rimuovere gli account utente di FreeIPA
ipa user-del jdowe
Aggiungi un membro a un gruppo di utenti utilizzando la sintassi del comando:
ipa [global-options] group-add-member GROUP-NAME [options]
Opzioni comuni:
- –users=STR – Utenti da aggiungere al gruppo
- –groups=STR – Gruppi da aggiungere al gruppo denominato
- –services=STR – Servizi da aggiungere al gruppo
- –esterno=STR Membri di un dominio attendibile in formato DOM\nome o [email protetta]
Vedi sotto gli esempi sull'aggiunta di utenti/gruppi a un gruppo
Aggiungi l'utente jdoe come membro manager di qa :
$ ipa group-add-member qa --users=jdoe Group name: qa Description: QA Engineers GID: 1063800004 Member users: jdoe ------------------------- Number of members added 1 -------------------------
Aggiungi un utente come gestore membri a un gruppo di utenti
$ ipa group-add-member-manager developers --users=jdoe
Group name: developers
GID: 106380005
Membership managed by users: jdoe
-------------------------
Number of members added 1
-------------------------
Utente jdoe ora può gestire i membri di sviluppatori .
Oppure aggiungi il gruppo qa come membro manager di sviluppatori :
$ 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
Gruppo qa sarà quindi in grado di gestire i membri di sviluppatori .
Aggiungi aggiungi come membro di un altro gruppo
Aggiungi add group_b come membro di group_a:
$ ipa group-add-member group_a --groups=group_b
Rimozione di un membro da un gruppo di utenti
Per prima cosa conferma che il gruppo include il membro che desideri rimuovere.
ipa group-show
Rimuovi un membro da un gruppo di utenti utilizzando il ipa group-remove-member
comando mentre si specificano i membri da rimuovere utilizzando queste opzioni:
--users
rimuove un utente FreeIPA--external
rimuove un utente che esiste al di fuori del dominio FreeIPA, nel formato diDOMAIN\user_name
o[email protected]
--groups
rimuove un gruppo di utenti
Ad esempio, per rimuovere jmutai da un gruppo chiamato sysadmins :
$ ipa group-remove-member qa --users=jdoe
Group name: qa
GID: 320800003
---------------------------
Number of members removed 1
---------------------------
Rimuovi utente1 , utente2 e gruppo1 da un gruppo chiamato nome_gruppo :
ipa group-remove-member group_name --users=user1 --users=user2 --groups=group1
Rimozione di utenti o gruppi come gestori membri da un gruppo utenti
Sintassi del comando:
ipa group-remove-member-manager GROUP-NAME [options]
opzioni da utilizzare:
- –users=STR utenti da rimuovere
- –groups=STR gruppi da rimuovere
Ad esempio, per rimuovere l'utente utente1 come amministratore membro del gruppo1 :
$ ipa group-remove-member-manager group1 --users=user1
Rimuovere gli amministratori di sistema del gruppo come manager membri di devops:
$ ipa group-remove-member-manager developers --groups=qa
Group name: developers
GID: 320800004
Membership managed by users: jdoe
---------------------------
Number of members removed 1
---------------------------
Il gruppo e il suo membro non saranno in grado di gestire i membri del gruppo di sviluppatori dopo la rimozione.
Aggiungi utenti locali esistenti alla directory di FreeIPA.
Imposta la stessa password con il nome utente in questo esempio, ma è necessario cambiarla all'accesso iniziale
# 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