Mengelola Pengguna dan Grup Lokal Bab 6
Tags: ramadhanbersamaredhat, cloud, rh124, redhat
Published: 2024-03-24 14:36:58

**_Apa itu Pengguna?_**
Seorang pengguna akun digunakan untu memberikan batasan keamanan antara orang dan program berbeda yang dapat menjalankan perintah.

Pengguna punya nama pengguna untuk mengidentifikasinya kepada pengguna manusia. Secara internal, sistem membedakan akun pengguna berdasarkan nomor identifikasi unik yang diberikan kepada mereka, yaitu _user ID_ atau _UID_. Jika akun pengguna digunakan oleh manusia, biasanya akun tersebut akan diberi kata sandi yang akan digunakan pengguna untuk membuktikan bahwa mereka adalah pengguna sah sebenarnya saat masuk.

Akun pengguna sangat penting untuk keamanan sistem. Setiap proses(program yang berjalan) pada sistem berjalan sebagai pengguna tertentu. Setiap file memiliki pengguna tertetntu sebagai pemiliknya. Kepemilikan file membantu sistem menerapkan kontrol akses bagi pengguna file. Pengguna yang terkait dengan proses yang berjalan menentukan file dan direktori yang dapat diakses oleh proses tersebut.

Ada tiga jenis utama akun pengguna: the _superuser, system users,_ dan _regular users_.

- The _superuser_ account adalah untuk administrasi sistem. Nama pengguna supernya (_superuser)_ adalah _**root**_ dan akunnya memiliki UID 0. Pengguna super memiliki akses penuh ke sistem.
- The system has _system user_ accounts yang digunakan plej proses yang menyediakan layanan pendukung. Proses-proses ini, atau _daemons_, biasanya tidak perlu  dijalankan sebagai pengguna super(_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 akun pengguna sistem.
- Sebagian besar pengguna memiliknya _regular user_ accounts yang mereka gunakan untuk pekerjaan sehari-hari. Seperti halnya pengguna sistem, pengguna biasa mempunyai akses terbatas terhadap sistem.

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

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

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

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

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

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

Untuk melihat informasi proses, gunaka perintah **ps**. Standarnya adalah hanya menampilkan proses di shell saat ini. Tambahkan **a** option untuk melihat semua proses dengan terminal. Untuk melihat pengguna yang terkait dengan suatu proses, sertakan _u_ option. Pada keluaran berikut, kolom pertama menunjukkan nama pengguna.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vyym7m4xe2su4caj47fd.png)
Output dari perintah sebelumnya menampilkan pengguna berdasarkan nama, namun secara internal sistem operasi menggunakan UID untuk melacak pengguna. Pemetaan nama penggun UID ditentukan dalam database informasi akun. Secara default, sistem menggunakan _/etc/passwd_ file tersebut untuk menyimpan informasi tentang pengguna lokal.

Setiap baris dalam _/etc/passwd_ file berisi infomasi tentang satu pengguna. Berikut adalah contoh dari _/etc/passwd_:

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

1. Nama pengguna untuk pengguna ini (user01).
2. Kata sandi pengguna dulunya disimpan di sini dalam format terekripsi. Itu telah dipindahkan ke _/etc/shadow_ file, yang akan dibahas nanti. Bidang ini harus selalu ada _x_.
3. Nomor UID unutk akun pengguna ini (1000).
4. Nomor GID untuk grup utama akun pengguna ini (1000). Grup akan dibahas nanti di bagian ini.
5. Nama asli pengguna ini (_User One)_.
6. Direktori home untuk pengguna ini (_/home/user01_). Ini adalah direktori kerja awal ketika shell dimulai dan berisi data pengguna dan pengaturan konfigurasi.
7. Program shell default untuk pengguna ini, yang berjalan saat login (**_/bin/bash_**). Untuk pengguna biasa, ini biasanya merupakan program yang menyiddiakan prompt baris perintah pengguna. Pengguna sistem mungkin menggunakan **_/sbin/nologin_** jika login interaktif tidak diperbolehkan untuk pengguna tersebut.

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

Seperti halnya pengguna, grup juga punya _nama grup_ untuk membuatnya lebih mudah untuk diajak bekerja sama. Secara internal, sistem membedakan kelompok berdasarkan nomor identifikasi unik yang diberikan kepada mereka, yaitu _ID_ grup atau _GID_.

Pemetaan nama grup 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 grup. Setiap entri grup dibagi menjadi empat bidang yang dipisahkan titik dua. Berikut adalah contoh baris dari _/etc/group_:


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

1. Nama grup untuk grup ini (group01)
2. Bidang kata sandi grup tidak berlaku lagi. Bidang ini harus selalu ada _x_.
3. Nomor GID untuk grup ini (10000).
4. Daftar pengguna yang menjadi anggota grup ini sebagai grup tambahan (user01, user02, user03). Grup primer (atau default) dan grup tambahan dibahas nanti di bagian ini.

**Kelompok Primer dan Kelompok Pelengkap (Primary Groups and Supplementary Groups)**
Setiap pengguna memiliki tepat satu grup utama. Untuk pengguna lokal, ini adalah grup yang dicantumkan berdasarkan nomor GID di _/etc/passwd_ file. Secara defaault, ini adalah grup yang akan memiliki file baru yangdibuat oleh pengguna.

Biasanya, saat Anda membuat pengguna regular baru, grup baru dengan nama yang sama dengan pengguna tersebut akan dibuat. Grup tersebut digunakan sebagai grup utama untuk pengguna baru, dan pengguna tersebut adalah satu-satunya anggotanya Gup Pribadi Pengguna(User Private Group). Ternyata hal ini membantu mempermudah pengelolaan izin file, yang akan dibahas nanti dalam kursus ini.

Pengguna mungkin juga memilikinya kelompok tambahan(Supplementary Group). Keanggotaan dalam kelompok tambahan ditentukan oleh _/etc/group_ berkas. Pengguna diberikan akses ke file berdasarkan apakah ada grup mereka yang mereka akses. Tidak masalah apakah grup atau grup yang memiliki akses adalah grup utama atau tambahan bagi pengguna.

Misalnya, jika pengguna user01 memiliki grup utama user01 tambahan _wheel_ dan _webadmin_, maka pengguna tersebut dapat membaca file yang dapat dibaca oleh salah satu dari ketiga grup tersebut.

Perintah **id** juga dapat digunakan untuk mengetahui keanggotaan grup suatu pengguna.


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

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