GNU/Linux >> Linux Esercitazione >  >> Linux

Come gestire utenti e gruppi in FreeIPA Server

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:

  1. Utenti di FreeIPA
  2. Altri gruppi di utenti
  3. 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. uidNumbergidNumber )
  • 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 localeDominio 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 di DOMAIN\user_name[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 utente1utente2gruppo1 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


Linux
  1. Come gestire ed elencare i servizi in Linux

  2. Gestisci utenti Linux e gruppi Linux

  3. Come creo e gestisco utenti FTP?

  4. Crea, gestisci ed elimina utenti e gruppi in Active Directory

  5. Come posso ordinare ls per proprietario e gruppo?

Come elencare i gruppi in Linux

Utenti e gruppi LDAP

Come elencare utenti e gruppi su Linux

Come faccio ad aggiungere e gestire utenti FTP aggiuntivi?

Come creare e gestire nuovi utenti su Linux

Come creare utenti e gruppi in CentOS7?