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 grup docker dan sanggup menjalankan berbagai perintah docker.

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.