GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwalten Sie Benutzer und Gruppen in FreeIPA Server

Nach der Installation des FreeIPA-Servers und der Initialisierung des Kerberos-Tickets sollten Sie als Nächstes die Identitätsverwaltung durchführen, die mit dem Erstellen von Gruppen und Benutzern beginnt.

Voraussetzungen

Für diese Anleitung benötigen Sie einen funktionierenden Freeipa-Server. Sehen Sie sich diese Anleitungen zum Einrichten des Freeipa-Servers an:

  • So installieren und konfigurieren Sie FreeIPA unter Rocky Linux/Centos 8
  • So konfigurieren Sie die FreeIPA-Replikation unter Rocky Linux/Alma Linux/Centos 8

Oben fortfahren, Sie benötigen außerdem ein gültiges Kerberos-Ticket. Erstellen Sie ein Ticket für den Prinzipal mit:

kinit [principal]

Dies ist für meinen Admin-Benutzer:

$ kinit admin
Password for [email protected]:

Bestätigen Sie die Ticketvalidierung, indem Sie zwischengespeicherte Kerberos-Tickets mit diesem Befehl auflisten:

$ 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]

Die Standardlebensdauer des Tickets beträgt 24 Stunden

Verwandte Inhalte

  • So installieren Sie den FreeIPA-Client unter Rocky Linux/Alma Linux/CentOS 8
  • So installieren und konfigurieren Sie den FreeIPA-Client unter Ubuntu 20.04
  • So installieren Sie den FreeIPA-Client auf Fedora 35

Gruppen in FreeIPA verwalten

In FreeIPA ist eine Benutzergruppe eine Gruppe von Benutzern mit gemeinsamen Kennwortrichtlinien, Berechtigungen und anderen Merkmalen. Eine Benutzergruppe kann enthalten:

  1. FreeIPA-Benutzer
  2. Andere Benutzergruppen
  3. Externe Nutzer , d. h. Benutzer, die außerhalb der FreeIPA-Domain existieren

Unterstützte Gruppentypen sind:

  • POSIX-Gruppen  – Dies ist der Standardtyp, der Linux-POSIX-Attribute für Gruppenmitglieder unterstützt. Gruppen, die mit Active Directory interagieren, können keine POSIX-Attribute verwenden (z. B. uidNumber und gidNumber )
  • Nicht-POSIX-Gruppen – Diese unterstützen keine POSIX-Attribute. Beispielsweise haben sie keine GID.
  • Externe Gruppen – Wird verwendet, um Gruppenmitglieder hinzuzufügen, die in einem Identitätsspeicher außerhalb der FreeIPA-Domäne vorhanden sind, z. B. [lokales SystemActive Directory-Domain oder ein Verzeichnisse Service]. Diese Gruppen unterstützen keine POSIX-Attribute.

Die folgenden Gruppen werden standardmäßig bei der Installation und Konfiguration von FreeIPA Server erstellt:

  • Administratoren – Bestehen aus allen Benutzern mit Administratorrechten, einschließlich des standardmäßigen Administrators Benutzer
  • ipauser – Besteht aus allen FreeIPA-Benutzern
  • Administratoren vertrauen – Benutzer mit Berechtigungen zum Verwalten der Active Directory-Vertrauensstellungen

Wenn ein Benutzer zu einer Benutzergruppe hinzugefügt wird, erhält der Benutzer die mit der Gruppe verbundenen Berechtigungen und Richtlinien

Benutzergruppe in FreeIPA hinzufügen

Verwenden Sie diesen Befehl, um eine Gruppe mit dem Namen qa hinzuzufügen in FreeIPA

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

Dies ist die Ausgabe auf meinem Server

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

Standardmäßig fügt der obige Befehl eine POSIX-Benutzergruppe hinzu. Um einen anderen Gruppentyp anzugeben, fügen Sie dem Befehl als Option hinzu:

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

# Create a non-POSIX group
$ ipa group-add --nonposix groupname
Benutzerdefinierte Gruppen-ID verwenden

Um eine benutzerdefinierte Gruppen-ID (GID) anzugeben, verwenden Sie die Option gid=custom_GID

$ ipa group-add gid=custom_GID groupname

Aber Sie müssen vorsichtig sein, um ID-Konflikte zu vermeiden.

Nach Benutzergruppen suchen

Alle Benutzergruppen anzeigen:

$ 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
----------------------------

Alle Nicht-POSIX-Gruppen anzeigen:

$ 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
----------------------------

Alle POSIX-Gruppen anzeigen:

$ 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
----------------------------

Alle externen Gruppen anzeigen:

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

Suchen Sie nach FreeIPA-Gruppenkonten.

ipa group-find development

Sie können die Suchergebnisse auch auf Gruppen beschränken, die einen bestimmten Benutzer enthalten:

$ ipa group-find --user=user_name

Das Gegenteil gilt, wenn nach Gruppen gesucht wird, die keinen bestimmten Benutzer enthalten:

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

Mitglieder zu einem FreeIPA-Gruppenkonto hinzufügen.

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

FreeIPA-Gruppe zur verschachtelten FreeIPA-Gruppe hinzufügen

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

FreeIPA-Gruppenkonten entfernen.

ipa group-del qa

Benutzer in FreeIPA verwalten

Fügen Sie ein FreeIPA-Benutzerkonto hinzu

Die Befehlssyntax lautet:

$ ipa user-add

Dies sind die häufig verwendeten  ipa user-add Befehlsoptionen:

  • –first=STR – Vorname des Benutzers
  • –last=STR  – Nachname des Benutzers
  • –cn=STR – Vollständiger Name des Benutzerkontos
  • –homedir=STR – Heimatverzeichnis
  • –shell=STR – Login-Shell
  • –email=STR – E-Mail-Adresse
  • –Passwort – Aufforderung, das Benutzerpasswort festzulegen
  • –mobile=STR – Mobiltelefonnummer

Der Befehl führt ein Skript aus, in dem Sie grundlegende Daten hinzufügen können, die zum Erstellen eines Benutzerkontos erforderlich sind.

$ 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

Beim Erstellen des Benutzerkontos wird kein Benutzerkennwort festgelegt.

Um dem Benutzer ein Passwort zuzuweisen, verwenden Sie den ipa-Befehl, um den Benutzer mit der folgenden Option hinzuzufügen:

Löschen Sie zuerst den Benutzer

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

Erstellen Sie dann einen Benutzer, der das Passwort angibt

$ 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

So ändern Sie das Passwort für ein FreeIPA-Benutzerkonto

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

Benutzerkonto sperren

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

Benutzerkonto entsperren

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

FreeIPA-Benutzerkonten durchsuchen

$ 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
----------------------------

Rohbenutzer in Freeipa anzeigen

$ 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

Verwenden Sie zum Ändern der erstellten Benutzerinformationen die Befehlssyntax:

$ ipa [global-options] user-mod LOGIN

Passwort ändern

$ 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

FreeIPA-Benutzerkonten entfernen

ipa user-del jdowe

Fügen Sie ein Mitglied zu einer Benutzergruppe hinzu, indem Sie die Befehlssyntax verwenden:

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

Allgemeine Optionen:

  • –users=STR – Benutzer, die der Gruppe hinzugefügt werden sollen
  • –groups=STR – Gruppen, die der benannten Gruppe hinzugefügt werden sollen
  • –services=STR  – Dienste, die der Gruppe hinzugefügt werden sollen
  • –external=STR Mitglieder einer vertrauenswürdigen Domain im DOM\Name- oder [E-Mail-geschützten] Formular

Siehe untenstehende Beispiele zum Hinzufügen von Benutzern/Gruppen zu einer Gruppe

Fügen Sie den Benutzer jdoe hinzu als Mitgliedsmanager von qa :

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

Hinzufügen eines Benutzers als Mitgliedsmanager zu einer Benutzergruppe

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

Benutzer jdoe kann jetzt Mitglieder von Entwicklern verwalten .

Oder fügen Sie die Gruppe qa hinzu als Mitgliedsmanager von Entwicklern :

$ 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

Gruppe qa können dann Mitglieder von Entwicklern verwalten .

Hinzufügen als Mitglied einer anderen Gruppe hinzufügen

Fügen Sie group_b als Mitglied von group_a hinzu:

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

Entfernen eines Mitglieds aus einer Benutzergruppe

Bestätigen Sie zunächst, dass die Gruppe das Mitglied enthält, das Sie entfernen möchten.

ipa group-show

Entfernen Sie ein Mitglied aus einer Benutzergruppe, indem Sie den ipa group-remove-member verwenden Befehl, während Sie die zu entfernenden Mitglieder mit diesen Optionen angeben:

  • --users entfernt einen FreeIPA-Benutzer
  • --external entfernt einen Nutzer, der außerhalb der FreeIPA-Domain existiert, im Format DOMAIN\user_name oder [email protected]
  • --groups entfernt eine Benutzergruppe

Zum Beispiel, um jmutai zu entfernen aus einer Gruppe namens sysadmins :

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

Entfernen Sie Nutzer1Benutzer2 und Gruppe1 aus einer Gruppe namens Gruppenname :

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

Entfernen von Benutzern oder Gruppen als Mitgliedsmanager aus einer Benutzergruppe

Befehlssyntax:

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

zu verwendende Optionen:

  • –users=STR Benutzer zu entfernen
  • –groups=STR zu entfernende Gruppen

Zum Beispiel, um den Nutzer user1 zu entfernen als Mitgliedsmanager von Gruppe1 :

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

Entfernen Sie die Gruppe sysadmins als Mitgliedsmanager von devops:

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

Die Gruppe und ihre Mitglieder können die Mitglieder der Entwicklergruppe nach dem Entfernen nicht mehr verwalten.

Vorhandene lokale Benutzer zum FreeIPA-Verzeichnis hinzufügen.

Legen Sie in diesem Beispiel dasselbe Passwort wie der Benutzername fest, aber es muss bei der ersten Anmeldung geändert werden

# 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. Wie erstelle und verwalte ich FTP-Benutzer?

  2. Erstellen, verwalten und löschen Sie Benutzer und Gruppen in Active Directory

  3. Linux-Benutzergruppen verwalten

  4. Verwalten Sie Sicherheitsgruppen und -regeln

  5. Wie kann ich ls nach Besitzer und Gruppe sortieren?

Wie man Gruppen in Linux auflistet

LDAP-Benutzer und -Gruppen

So listen Sie Benutzer und Gruppen unter Linux auf

Wie kann ich zusätzliche FTP-Benutzer hinzufügen und verwalten?

So erstellen und verwalten Sie neue Benutzer unter Linux

Wie erstelle ich Benutzer und Gruppen in CentOS7?