Mengelola Local Users dan Groups
Tags: ramadhanbersamaredhat, rh124
Published: 2024-03-30 00:46:25

**Apa itu Users?**
User Account digunakan untuk memberikan batasan keamanan antara orang dan program berbeda yang dapat menjalankan perintah.

Pengguna punya user names untuk mengidentifikasinya kepada pengguna manusia dan membuatnya lebih mudah untuk digunakan. Secara internal, sistem membedakan akun pengguna berdasarkan nomor identifikasi unik yang diberikan kepada mereka, yaitu user ID or UID. Jika akun pengguna digunakan oleh manusia, biasanya akun tersebut akan diberi password yang akan digunakan pengguna untuk membuktikan bahwa mereka adalah pengguna sah sebenarnya saat masuk.

Ada tiga jenis utama akun pengguna: superuser, system users, dan regular users.

1. superuser account adalah untuk administrasi sistem. Nama superuser nya adalah **root** dan akunnya memiliki UID 0. Pengguna super memiliki akses penuh ke sistem.

2. Sistem memiliki system user accounts yang digunakan oleh proses yang menyediakan layanan pendukung. Proses-proses ini, atau daemon, biasanya tidak perlu dijalankan sebagai superuser. Mereka diberi akun tanpa hak istimewa yang memungkinkan mereka mengamankan file dan sumber daya lainnya dari satu sama lain dan dari pengguna biasa di sistem. Pengguna tidak login secara interaktif menggunakan user account sistem.

3. Sebagian besar pengguna memiliki regular user accounts  yang mereka gunakan untuk pekerjaan sehari-hari. Seperti halnya system users, regular users mempunyai akses terbatas terhadap sistem.

Anda dapat menggunakan perintah **id** untuk menampilkan informasi tentang pengguna yang sedang login.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/61t2f21uc324onhb6l2h.png)

Untuk melihat informasi dasar tentang pengguna lain, teruskan username ke perintah id sebagai argumen.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/geo6z6hruqrjui3xym8r.png)

Untuk melihat pemilik file gunakan perintah **ls -l** . Untuk melihat pemilik direktori gunakan perintah **ls -ld** . Pada output berikut, kolom ketiga menunjukkan nama pengguna.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ftib92ixida3lr3cia62.png)

Untuk melihat informasi proses, gunakan perintah **ps** . Standarnya adalah hanya menampilkan proses di shell saat ini. Tambahkan opsi untuk melihat semua proses dengan terminal. Untuk melihat pengguna yang terkait dengan suatu proses, sertakan u opsi. Pada keluaran berikut, kolom pertama menunjukkan username.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bwwlbcxp96i7d7oz6eam.png)

Output dari perintah sebelumnya menampilkan users berdasarkan nama, namun secara internal sistem operasi menggunakan UID untuk melacak pengguna. Pemetaan nama pengguna ke UID ditentukan dalam database informasi akun. Secara default, sistem menggunakan /etc/passwd file tersebut untuk menyimpan informasi tentang users lokal.

Setiap baris dalam /etc/passwd file berisi informasi tentang satu users. Ini dibagi menjadi tujuh bidang yang dipisahkan titik dua. Berikut adalah contoh baris dari /etc/passwd:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/me8334acspoahb2agq3n.png)

1. Username untuk user ini ( user01).

2. Password user dulunya disimpan di sini dalam format terenkripsi. Itu telah dipindahkan ke /etc/shadowfile, yang akan dibahas nanti. Bidang ini harus selalu ada x.

3. Nomor UID untuk user account ini (1000).

4. Nomor GID untuk group utama user account ini (1000). Group akan dibahas nanti di bagian ini.

5. Nama asli user ini (User One).

6. Direktori home untuk user ini ( /home/user01). Ini adalah direktori kerja awal ketika shell dimulai dan berisi data pengguna dan pengaturan konfigurasi.

7. Program shell default untuk user ini, yang berjalan saat login ( **/bin/bash** ). Untuk regular user, ini biasanya merupakan program yang menyediakan prompt baris perintah pengguna. System user mungkin menggunakan **/sbin/nologin** jika login interaktif tidak diperbolehkan untuk user tersebut.


**Apa itu Group?**
Group adalah kumpulan user yang perlu berbagi akses ke file dan sumber daya sistem lainnya. Grup dapat digunakan untuk memberikan akses ke file kepada sekumpulan user, bukan hanya satu user.

Seperti halnya user, group juga punya group names untuk membuatnya lebih mudah untuk diajak bekerja sama. Secara internal, sistem membedakan kelompok berdasarkan nomor identifikasi unik yang diberikan kepada mereka, yaitu group ID atau GID.

Pemetaan group names ke GID ditentukan dalam database informasi akun grup. Secara default, sistem menggunakan /etc/group file tersebut untuk menyimpan informasi tentang grup lokal.

Setiap baris dalam /etc/group file berisi informasi tentang satu group. Berikut adalah contoh baris dari /etc/group:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oiwkexo8dn9ftvrz7x2v.png)

1. Nama group untuk group ini ( group01).

2. Bidang password grup tidak berlaku lagi. Bidang ini harus selalu ada x.

3. Nomor GID untuk group ini (10000).

4. Daftar users yang menjadi anggota grup ini sebagai grup tambahan (user01, user02, user03). Primery (atau default) dan upplementary groups dibahas nanti di bagian ini.


**Primary Groups dan Supplementary Groups**
Setiap user memiliki tepat satu primary group. Untuk lokal users, ini adalah group yang dicantumkan berdasarkan nomor GID di /etc/passwdfile. Secara default, ini adalah group yang akan memiliki file baru yang dibuat oleh user.

Biasanya, saat Anda membuat regular user baru, group baru dengan nama yang sama dengan user tersebut akan dibuat. Group tersebut digunakan sebagai primary group untuk user baru, dan user tersebut adalah satu-satunya anggota User Private Group. Ternyata hal ini membantu mempermudah pengelolaan izin file, yang akan dibahas nanti dalam kursus ini.

User mungkin juga memiliki supplementary groups. Keanggotaan dalam supplementary groups ditentukan oleh /etc/group. User diberikan akses ke file berdasarkan apakah ada group mereka yang memiliki akses. Tidak masalah apakah group atau groups yang memiliki akses adalah primary atau supplementary bagi pengguna.

Misalnya, jika pengguna user01 memiliki primary group user01 dan supplementary groups  wheel dan webadmin, maka user tersebut dapat membaca file yang dapat dibaca oleh salah satu dari ketiga group tersebut.

Perintah **id** juga dapat digunakan untuk mengetahui keanggotaan group suatu user.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lf3faxll3qpb2hmxfs2p.png)

Pada contoh sebelumnya, user03 gunakan group user03 sebagai group utama (gid). Item tersebut groups mencantumkan semua grup untuk pengguna ini, dan selain grup utama user03, user memiliki group wheel dan group01 sebagai group tambahan.