Setelah menginstal server FreeIPA dan menginisialisasi tiket kerberos, selanjutnya Anda ingin melakukan pengelolaan identitas, yang dimulai dengan membuat grup dan pengguna.
Prasyarat
Untuk panduan ini, Anda memerlukan server freeipa yang berfungsi. Lihat panduan ini tentang cara menyiapkan server freeipa:
- Cara Menginstal dan Mengonfigurasi FreeIPA di Rocky Linux/Centos 8
- Cara mengkonfigurasi Replikasi FreeIPA di Rocky Linux/Alma Linux/Centos 8
Untuk melanjutkan, Anda juga harus memiliki tiket kerberos yang valid. Hasilkan tiket untuk kepala sekolah menggunakan ini:
kinit [principal]
Ini untuk pengguna admin saya:
$ kinit admin
Password for [email protected]:
Konfirmasi validasi tiket dengan mencantumkan tiket Kerberos yang di-cache menggunakan perintah ini:
$ 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]
Masa pakai default tiket adalah 24 jam
Konten Terkait
- Cara Menginstal Klien FreeIPA di Rocky Linux/Alma Linux/CentOS 8
- Cara Memasang dan Mengonfigurasi Klien FreeIPA di Ubuntu 20.04
- Cara Memasang Klien FreeIPA di Fedora 35
Mengelola Grup di FreeIPA
Di FreeIPA, grup pengguna adalah sekumpulan pengguna dengan kebijakan kata sandi yang sama, hak istimewa, dan karakteristik lainnya. Grup pengguna dapat mencakup:
- Pengguna FreeIPA
- Grup pengguna lain
- Pengguna eksternal , yaitu pengguna yang ada di luar domain FreeIPA
Jenis grup yang didukung adalah:
- Grup POSIX – Ini adalah tipe default yang mendukung atribut POSIX Linux untuk anggota grup. Grup yang berinteraksi dengan Active Directory tidak dapat menggunakan atribut POSIX (mis. uidNumber dan gidNumber )
- Grup non-POSIX – Ini tidak mendukung atribut POSIX. Misalnya, mereka tidak memiliki GID.
- Grup eksternal – Digunakan untuk menambahkan anggota grup yang ada di penyimpanan identitas di luar domain FreeIPA, seperti [sistem lokal , Domain Active Directory atau direktori se layanan]. Grup ini tidak mendukung atribut POSIX.
Grup di bawah ini dibuat secara default pada saat instalasi dan konfigurasi Server FreeIPA:
- admin – Terdiri dari semua pengguna dengan hak administratif, termasuk admin default default pengguna
- ipausers – Terdiri dari semua pengguna FreeIPA
- kepercayaan admin – Pengguna dengan hak istimewa untuk mengelola kepercayaan Direktori Aktif
Saat pengguna ditambahkan ke grup pengguna, pengguna mendapatkan hak istimewa dan kebijakan yang terkait dengan grup
Tambahkan Grup Pengguna di FreeIPA
Gunakan perintah ini untuk menambahkan grup bernama qa
di FreeIPA
ipa group-add --desc='QA Engineers' qa
Ini adalah output di server saya
$ ipa group-add --desc='QA Engineers' qa
----------------
Added group "qa"
----------------
Group name: qa
Description: QA Engineers
GID: 1063800004
Secara default, perintah di atas menambahkan grup pengguna POSIX. Untuk menentukan jenis grup yang berbeda, tambahkan sebagai opsi pada perintah:
# Create an external group $ ipa group-add --external groupname # Create a non-POSIX group $ ipa group-add --nonposix groupname
Menggunakan ID Grup Khusus
Untuk menentukan ID Grup khusus(GID), gunakan opsi gid=custom_GID
$ ipa group-add gid=custom_GID groupname
Tetapi Anda harus berhati-hati untuk menghindari konflik ID.
Mencari grup pengguna
Tampilkan semua grup pengguna:
$ 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 ----------------------------
Tampilkan semua grup 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 ----------------------------
Tampilkan semua grup 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
----------------------------
Tampilkan semua grup eksternal:
$ ipa group-find --external
----------------
0 groups matched
----------------
----------------------------
Number of entries returned 0
----------------------------
Cari akun grup FreeIPA.
ipa group-find development
Anda juga dapat membatasi hasil pencarian ke grup yang berisi pengguna tertentu:
$ ipa group-find --user=user_name
Kebalikannya benar ketika mencari grup yang tidak berisi pengguna tertentu:
$ ipa group-find --no-user=user_name
Tambahkan anggota ke akun grup FreeIPA.
ipa group-add-member --users=jdoe qa
Tambahkan grup FreeIPA ke grup FreeIPA bersarang
ipa group-add-member --groups=development engineering
Hapus akun grup FreeIPA.
ipa group-del qa
Mengelola Pengguna di FreeIPA
Tambahkan Akun Pengguna FreeIPA
Sintaks perintahnya adalah:
$ ipa user-add
Ini adalah ipa user-add yang umum digunakan opsi perintah:
- –pertama=STR – Nama depan pengguna
- –last=STR – Nama belakang pengguna
- –cn=STR – Nama lengkap akun pengguna
- –homedir=STR – Direktori beranda
- –shell=STR – Masuk shell
- –email=STR – Alamat email
- –sandi – Perintah untuk menyetel kata sandi pengguna
- –mobile=STR – Nomor Telepon Seluler
Perintah menjalankan skrip tempat Anda dapat menambahkan data dasar yang diperlukan untuk membuat akun pengguna.
$ 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
Kata sandi pengguna tidak disetel saat akun pengguna sedang dibuat.
Untuk menetapkan kata sandi pengguna, gunakan perintah ipa untuk menambahkan pengguna dengan opsi di bawah ini:
Hapus pengguna terlebih dahulu
$ ipa user-del jdoe
-------------------
Deleted user "jdoe"
-------------------
Kemudian buat kata sandi pengguna yang menentukan
$ 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
Untuk mengubah kata sandi untuk akun pengguna FreeIPA
$ ipa passwd jdoe
New Password:
Enter New Password again to verify:
-------------------------------------------
Changed password for "[email protected]"
-------------------------------------------
Kunci Akun Pengguna
$ ipa user-disable jdoe
----------------------------
Disabled user account "jdoe"
----------------------------
Buka kunci akun pengguna
$ ipa user-enable jdoe
---------------------------
Enabled user account "jdoe"
---------------------------
Cari akun pengguna 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
----------------------------
Tampilkan pengguna mentah di 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
Untuk mengubah informasi pengguna yang dibuat, gunakan sintaks perintah:
$ ipa [global-options] user-mod LOGIN
Untuk mengubah kata sandi
$ 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
Hapus akun pengguna FreeIPA
ipa user-del jdowe
Tambahkan anggota ke grup pengguna dengan menggunakan sintaks perintah:
ipa [global-options] group-add-member GROUP-NAME [options]
Opsi umum:
- –users=STR – Pengguna untuk ditambahkan ke grup
- –groups=STR – Grup untuk ditambahkan ke grup bernama
- –services=STR – Layanan untuk ditambahkan ke grup
- –external=STR Anggota domain tepercaya dalam DOM\nama atau formulir [dilindungi email]
Lihat contoh di bawah tentang menambahkan pengguna/grup ke grup
Tambahkan pengguna jdoe sebagai pengelola anggota qa :
$ ipa group-add-member qa --users=jdoe Group name: qa Description: QA Engineers GID: 1063800004 Member users: jdoe ------------------------- Number of members added 1 -------------------------
Tambahkan pengguna sebagai manajer anggota ke grup pengguna
$ ipa group-add-member-manager developers --users=jdoe
Group name: developers
GID: 106380005
Membership managed by users: jdoe
-------------------------
Number of members added 1
-------------------------
Pengguna jdoe sekarang dapat mengelola anggota pengembang .
Atau tambahkan grup qa sebagai pengelola anggota pengembang :
$ 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
Grup qa kemudian dapat mengelola anggota pengembang .
Tambah tambahkan sebagai anggota grup lain
Tambahkan tambahkan group_b sebagai anggota group_a:
$ ipa group-add-member group_a --groups=group_b
Menghapus anggota dari grup pengguna
Konfirmasikan terlebih dahulu bahwa grup tersebut menyertakan anggota yang ingin Anda hapus.
ipa group-show
Hapus anggota dari grup pengguna dengan menggunakan ipa group-remove-member
perintah sambil menentukan anggota yang akan dihapus menggunakan opsi ini:
--users
menghapus pengguna FreeIPA--external
menghapus pengguna yang ada di luar domain FreeIPA, dalam formatDOMAIN\user_name
atau[email protected]
--groups
menghapus grup pengguna
Misalnya, untuk menghapus jmutai dari grup bernama sysadmins :
$ ipa group-remove-member qa --users=jdoe
Group name: qa
GID: 320800003
---------------------------
Number of members removed 1
---------------------------
Hapus pengguna1 , pengguna2 , dan grup1 dari grup bernama group_name :
ipa group-remove-member group_name --users=user1 --users=user2 --groups=group1
Menghapus pengguna atau grup sebagai pengelola anggota dari grup pengguna
Sintaks perintah:
ipa group-remove-member-manager GROUP-NAME [options]
opsi untuk digunakan:
- –users=STR pengguna untuk dihapus
- –groups=STR grup yang akan dihapus
Misalnya, untuk menghapus pengguna pengguna1 sebagai pengelola anggota grup1 :
$ ipa group-remove-member-manager group1 --users=user1
Hapus sysadmin grup sebagai manajer anggota devops:
$ ipa group-remove-member-manager developers --groups=qa
Group name: developers
GID: 320800004
Membership managed by users: jdoe
---------------------------
Number of members removed 1
---------------------------
Grup dan anggotanya tidak akan dapat mengelola anggota grup pengembang setelah dihapus.
Tambahkan Pengguna lokal yang Ada ke Direktori FreeIPA.
Atur kata sandi yang sama dengan nama pengguna pada contoh ini, tetapi diperlukan untuk mengubahnya saat login awal
# 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