Di Linux, group adalah kumpulan user. Tujuan utama grup adalah untuk menetapkan serangkaian hak istimewa seperti izin membaca, menulis, atau mengeksekusi suatu perintah untuk alokasi sumber daya yang dapat dibagikan di antara user dalam suatu grup. User dapat ditambahkan ke grup yang ada untuk memanfaatkan hak istimewa yang diberikannya.
Tutorial ini menjelaskan cara menampilkan semua daftar grup di linux serta user mana saja yang menjadi anggota dari group tersebut. Kami juga akan menjelaskan cara membuat dan menampilkan daftar semua anggota grup.
Inti dari mencari tahu group di Linux adalah untuk mengetahui user ini berada di group mana saja. Karena kesalahan penempatan user di group dapat menjadi bencana dalam variable environment Linux.
Group di Linux
Group adalah unit organisasi yang digunakan untuk mengatur dan mengelola akun user di Linux. Tujuan utama grup adalah untuk menetapkan serangkaian hak istimewa seperti izin read, write, atau mengeksekusi sumber daya yang diberikan yang dapat dibagikan di antara user dalam grup.
Ada dua jenis grup dalam sistem operasi Linux:
- Grup Primer– Saat user membuat file, grup file diatur ke grup utama user. Biasanya, nama grup sama dengan nama user. Informasi tentang grup primer user disimpan di file
/etc/passwd.
- Grup sekunder atau grup tambahan – Berguna saat Anda ingin memberikan izin file tertentu kepada sekelompok user yang merupakan anggota grup. Misalnya, jika Anda menambahkan user tertentu ke grup
docker
, maka user tersebut secara otomatis akan mendapatkan hak akses yang sama dengan user lain di grupdocker
dan sanggup menjalankan berbagai perintahdocker
.
Setiap user dapat memiliki hanya satu grup primer, atau juga dapat berkaitan dengan satu atau lebih grup sekunder.
Melihat Grup dari User tertentu
Ada beberapa cara untuk mengetahui grup milik user.
Grup primary user disimpan dalam file /etc/passwd
dan grup sekunder, jika ada, tercantum dalam file /etc/group
. Salah satu cara untuk menemukan grup user adalah dengan melihat isi konten file-file itu menggunakan perintah cat
, less
atau grep
.
Opsi lain yang lebih mudah adalah dengan menggunakan perintah yang tujuannya adalah untuk memberikan informasi tentang user dan grup sistem.
Menggunakan perintah group
Perintah yang paling mudah di ingat untuk melihat daftar semua anggota di suatu grup adalah perintah group
. Ketika perintah group dieksekusi tanpa argumen, perintah akan mencetak daftar semua group :
groups
Grup pertama adalah grup primary.
dani adm cdrom sudo dip plugdev lpadmin sambashare
Untuk mendapatkan daftar semua grup milik user tertentu, berikan nama user ke perintah grup sebagai argumen:
groups linuxid
Sama seperti sebelumnya, grup pertama adalah grup primary.
linuxid : linuxid sudo
Menggunakan perintah id
Perintah id
mencetak informasi tentang user yang ditentukan dan grup dari user tersebut. Jika nama user dihilangkan, maka output akan menunjukkan informasi untuk pengguna saat ini.
Misalnya untuk mendapatkan informasi tentang user linuxid, maka perintah yang di ketik:
id linuxid
Perintah akan menampilkan nama pengguna (uid
), grup primary (gid
), dan grup sekunder (grup
)
uid=1001(linuxid) gid=1001(linuxid) groups=1001(linuxid),27(sudo)
Untuk mencetak hanya nama, tanpa user ID dan grup, gunakan opsi -n
. Opsi -g
hanya akan mencetak grup primary dan -G
semua grup.
Perintah berikut akan mencetak nama-nama grup yang saat ini menjadi anggota:
id -nG
dani adm cdrom sudo dip plugdev lpadmin sambashare
Melihat Daftar Semua Anggota Grup
Untuk mendaftar semua anggota grup, gunakan perintah getent group
diikuti dengan nama grup.
Misalnya, untuk mengetahui anggota grup dengan nama developers, Anda dapat menggunakan perintah berikut:
getent group developers
Jika grup tersebut ada, perintah akan mencetak grup dan semua anggotanya:
developers:x:126:rahmad,rani
Jika tidak ada output, maka grup developers
tidak ada.
Melihat Daftar Semua Grup
Untuk melihat semua grup yang ada di sistem cukup buka file /etc/group
. Setiap baris dalam file ini mewakili informasi untuk satu grup.
less /etc/group
Opsi lain adalah menggunakan perintah getent
yang menampilkan entri dari basis data yang dikonfigurasikan dalam file /etc/nsswitch.conf
termasuk basis data grup yang dapat kita gunakan untuk menanyakan daftar semua grup.
Untuk mendapatkan daftar semua grup, ketikkan perintah berikut:
getent group
Outputnya sama dengan ketika menampilkan konten file /etc/group
. Jika Anda menggunakan LDAP untuk otentikasi user, getent
akan menampilkan semua group dari file /etc/group
dan database LDAP.
Anda juga dapat menggunakan awk
atau cut
untuk mencetak hanya field pertama yang berisi nama grup:
getent group | awk -F: '{ print $1}'
getent group | cut -d: -f1
Kesimpulan
Dalam tutorial ini, Anda belajar cara menemukan group dan mencari user yang ada di dalamnya. Perintah yang sama berlaku untuk distribusi Linux apa pun, termasuk Ubuntu, CentOS, RHEL, Debian dan Linux Mint.