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:
- Uživatelé FreeIPA
- Další skupiny uživatelů
- 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ř. uidNumber a gidNumber )
- 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ém , Domé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átuDOMAIN\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živatele1 , uživatel2 a skupina1 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