GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana mengelola pengguna dan grup di Server FreeIPA

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:

  1. Pengguna FreeIPA
  2. Grup pengguna lain
  3. 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 lokalDomain 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 format DOMAIN\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 pengguna1pengguna2 , 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


Linux
  1. Cara Mengelola dan Mendaftar Layanan di Linux

  2. Pengguna dan Grup

  3. Cara mengelola Izin/Kepemilikan File dan Direktori di Linux

  1. Kelola Pengguna Linux &Grup Linux

  2. Cara mengelola izin Linux untuk pengguna, grup, dan lainnya

  3. Bagaimana saya bisa mengurutkan berdasarkan pemilik dan grup?

  1. Cara Bekerja Dengan Pengguna Dan Grup Di Linux

  2. Buat, kelola, dan hapus pengguna dan grup di Active Directory

  3. Kelola grup pengguna Linux