GNU/Linux >> Znalost Linux >  >> Linux

Jak spravovat uživatele a skupiny na serveru FreeIPA

Po instalaci serveru FreeIPA a inicializaci kerberos tiketu byste dále měli provést správu identit, která začíná vytvářením skupin a uživatelů.

Předpoklady

Pro tuto příručku budete potřebovat funkční server freeipa. Podívejte se na tyto návody, jak nastavit server freeipa:

  • Jak nainstalovat a nakonfigurovat FreeIPA na Rocky Linux/Centos 8
  • Jak nakonfigurovat replikaci FreeIPA na Rocky Linux/Alma Linux/Centos 8

Nahoru pokračujte, musíte mít také platný kerberos tiket. Vygenerujte lístek pro hlavního příkazce pomocí tohoto:

kinit [principal]

Toto je pro mého administrátora:

$ kinit admin
Password for [email protected]:

Potvrďte ověření tiketu uvedením mezipaměti tiketů Kerberos pomocí tohoto příkazu:

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

Výchozí životnost lístku je 24 hodin

Související obsah

  • Jak nainstalovat klienta FreeIPA na Rocky Linux/Alma Linux/CentOS 8
  • Jak nainstalovat a nakonfigurovat klienta FreeIPA na Ubuntu 20.04
  • Jak nainstalovat klienta FreeIPA na Fedora 35

Správa skupin ve FreeIPA

Ve FreeIPA je skupina uživatelů sada uživatelů se společnými zásadami hesel, oprávněními a dalšími charakteristikami. Uživatelská skupina může zahrnovat:

  1. Uživatelé FreeIPA
  2. Další skupiny uživatelů
  3. Externí uživatelé , tj. uživatelé, kteří existují mimo doménu FreeIPA

Podporované typy skupin jsou:

  • Skupiny POSIX  – Toto je výchozí typ, který podporuje atributy Linux POSIX pro členy skupiny. Skupiny, které komunikují se službou Active Directory, nemohou používat atributy POSIX (např. uidNumbergidNumber )
  • Skupiny jiné než POSIX – Nepodporují atributy POSIX. Například nemají GID.
  • Externí skupiny – Používá se k přidání členů skupiny, kteří existují v úložišti identit mimo doménu FreeIPA, jako je [místní systémDoména Active Directory nebo adresář se rvice]. Tyto skupiny nepodporují atributy POSIX.

Níže uvedené skupiny jsou ve výchozím nastavení vytvořeny při instalaci a konfiguraci serveru FreeIPA:

  • administrátoři – Skládá se ze všech uživatelů s oprávněními správce, včetně výchozího admin uživatel
  • ipausers – Skládají se ze všech uživatelů FreeIPA
  • důvěřujte správcům – Uživatelé s oprávněními ke správě důvěryhodnosti Active Directory

Když je uživatel přidán do skupiny uživatelů, získá oprávnění a zásady související se skupinou

Přidat skupinu uživatelů do FreeIPA

Tento příkaz použijte k přidání skupiny s názvem qa ve FreeIPA

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

Toto je výstup na mém serveru

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

Ve výchozím nastavení výše uvedený příkaz přidá skupinu uživatelů POSIX. Chcete-li zadat jiný typ skupiny, přidejte jako možnost k příkazu:

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

# Create a non-POSIX group
$ ipa group-add --nonposix groupname
Použití ID vlastní skupiny

Chcete-li zadat vlastní ID skupiny (GID), použijte možnost gid=custom_GID

$ ipa group-add gid=custom_GID groupname

Ale budete muset být opatrní, abyste se vyhnuli konfliktům ID.

Vyhledávání skupin uživatelů

Zobrazit všechny skupiny uživatelů:

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

Zobrazit všechny skupiny mimo 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
----------------------------

Zobrazit všechny skupiny 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
----------------------------

Zobrazit všechny externí skupiny:

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

Prohledejte účty skupiny FreeIPA.

ipa group-find development

Výsledky hledání můžete také omezit na skupiny, které obsahují konkrétního uživatele:

$ ipa group-find --user=user_name

Při hledání skupin, které neobsahují konkrétního uživatele, platí opak:

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

Přidejte členy do skupinového účtu FreeIPA.

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

Přidejte skupinu FreeIPA do skupiny FreeIPA vnořené

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

Odstraňte účty skupiny FreeIPA.

ipa group-del qa

Správa uživatelů ve FreeIPA

Přidat uživatelský účet FreeIPA

Syntaxe příkazu je:

$ ipa user-add

Toto jsou běžně používané  ipa user-add možnosti příkazu:

  • –first=STR – Křestní jméno uživatele
  • –last=STR  – Příjmení uživatele
  • –cn=STR – Celé jméno uživatelského účtu
  • –homedir=STR – Domovský adresář
  • –shell=STR – Přihlašovací prostředí
  • –email=STR – E-mailová adresa
  • –heslo – Vyzvat k nastavení hesla uživatele
  • –mobile=STR – Číslo mobilního telefonu

Příkaz spustí skript, do kterého můžete přidat základní údaje potřebné pro vytvoření uživatelského účtu.

$ 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

Při vytváření uživatelského účtu není nastaveno uživatelské heslo.

Chcete-li uživateli přiřadit heslo, použijte příkaz ipa k přidání uživatele s níže uvedenou možností:

Nejprve smažte uživatele

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

Poté vytvořte uživatele s uvedením hesla

$ 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

Chcete-li změnit heslo pro uživatelský účet FreeIPA

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

Uzamknout uživatelský účet

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

Odemknout uživatelský účet

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

Prohledejte uživatelské účty 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
----------------------------

Zobrazit raw uživatele ve 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

Chcete-li změnit vytvořené informace o uživateli, použijte syntaxi příkazu:

$ ipa [global-options] user-mod LOGIN

Změna hesla

$ 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

Odebrat uživatelské účty FreeIPA

ipa user-del jdowe

Přidejte člena do skupiny uživatelů pomocí syntaxe příkazu:

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

Běžné možnosti:

  • –users=STR – Uživatelé, které chcete přidat do skupiny
  • –groups=STR – Skupiny, které chcete přidat do pojmenované skupiny
  • –services=STR  – Služby pro přidání do skupiny
  • –external=STR Členové důvěryhodné domény ve formuláři DOM\name nebo [email protected] 

Níže naleznete příklady přidání uživatele/skupiny do skupiny

Přidejte uživatele jdoe jako člen manažera qa :

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

Přidat uživatele jako správce členů do skupiny uživatelů

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

Uživatel jdoe nyní může spravovat členy vývojářů .

Nebo přidejte skupinu qa jako člen manažera vývojářů :

$ 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

Skupina qa poté bude moci spravovat členy vývojářů .

Přidat přidat jako člena jiné skupiny

Přidat add group_b jako člena group_a:

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

Odebrání člena z uživatelské skupiny

Nejprve potvrďte, že skupina obsahuje člena, kterého chcete odebrat.

ipa group-show

Odeberte člena ze skupiny uživatelů pomocí ipa group-remove-member při zadávání členů k odstranění pomocí těchto voleb:

  • --users odebere uživatele FreeIPA
  • --external odebere uživatele, který existuje mimo doménu FreeIPA, ve formátu DOMAIN\user_name nebo [email protected]
  • --groups odebere uživatelskou skupinu

Chcete-li například odstranit jmutai ze skupiny s názvem sysadmins :

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

Odebrat uživatele1uživatel2skupina1 ze skupiny s názvem název_skupiny :

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

Odebrání uživatelů nebo skupin jako správců členů ze skupiny uživatelů

Syntaxe příkazu:

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

možnosti použití:

  • –users=STR uživatelé k odstranění
  • –groups=STR skupiny k odstranění

Chcete-li například odebrat uživatele uživatel1 jako správce členů group1 :

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

Odeberte systémové správce skupiny jako správce členů devops:

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

Skupina a její člen nebudou moci po odebrání spravovat členy skupiny vývojářů.

Přidat existující místní uživatele do adresáře FreeIPA.

Nastavte stejné heslo s uživatelským jménem v tomto příkladu, ale je nutné jej změnit při prvním přihlášení

# 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. Správa uživatelů Linuxu a skupin Linuxu

  2. Uživatelé a skupiny

  3. Jak pracovat s uživateli a skupinami v Linuxu

  1. Jak spravovat a vypisovat služby v Linuxu

  2. Jak spravovat oprávnění Linuxu pro uživatele, skupiny a další

  3. Vytvářejte, spravujte a mažte uživatele a skupiny ve službě Active Directory

  1. Spravujte skupiny uživatelů Linuxu

  2. Spravujte skupiny zabezpečení a pravidla

  3. Jak spravovat oprávnění/vlastnictví souborů a adresářů v Linuxu