Grup Linux adalah kumpulan pengguna. Mereka dimaksudkan untuk dengan mudah memberikan hak istimewa kepada sekelompok pengguna. Dalam tutorial ini, kita akan melihat berbagai cara untuk membuat daftar semua grup di Linux.
2 Cara Mendaftar Semua Grup di Linux
- /etc/group file
- perintah getent
1. /etc/group file
File /etc/group berisi semua grup lokal. Jadi, kita bisa membuka file ini dan melihat semua grup.
root@localhost:~# cat /etc/group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog tty:x:5: disk:x:6: lp:x:7: mail:x:8: news:x:9: ...

Jika Anda mencari grup tertentu, gunakan perintah grep untuk memfilternya.
root@localhost:~# cat /etc/group | grep sudo sudo:x:27:journaldev,test root@localhost:~#
2. perintah getent
Linux getent perintah mengambil entri dari database yang didukung oleh pustaka Name Service Switch. Kita dapat menggunakannya untuk mendapatkan semua informasi grup dari database grup.
root@localhost:~# getent group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog tty:x:5: ...

Mari kita lihat beberapa contoh daftar semua grup di Linux.
Linux Mencantumkan Semua Nama Grup
Kita dapat menggunakan perintah cut untuk mencetak hanya nama grup. Ini berguna saat kita mencari keberadaan nama grup tertentu dalam skrip shell.
root@localhost:~# cut -d: -f1 /etc/group root daemon bin sys adm tty ...

Kita juga bisa menggunakan perintah cut dengan perintah getent.
root@localhost:~# getent group | cut -d: -f1 root daemon bin sys adm tty disk ...

Perintah cut membagi setiap baris menggunakan pembatas titik dua (:). Kemudian bidang pertama, yang merupakan nama grup, dipilih menggunakan opsi -f1.
Mencantumkan Semua Nama Grup dalam Urutan Abjad
Output perintah di atas dapat diteruskan ke perintah sortir untuk mencetak output dalam urutan pengurutan alami.
root@localhost:~# getent group | cut -d: -f1 | sort adm audio backup bin cdrom crontab daemon ...

Jumlah Semua Grup Linux
Jika Anda tertarik dengan jumlah grup linux, gunakan perintah berikut.
root@localhost:~# cat /etc/group | grep -c "" 68 root@localhost:~# getent group | grep -c "" 68 root@localhost:~#

Mencantumkan Semua Grup Pengguna
Kita dapat menggunakan perintah groups untuk mendapatkan semua grup pengguna.
root@localhost:~# groups journaldev journaldev : journaldev sudo test_users test_users_pwd root@localhost:~# root@localhost:~# groups root root : root root@localhost:~#

Mencantumkan Grup Pengguna Saat Ini
Jika Anda menjalankan perintah groups tanpa input pengguna apa pun, itu akan mencetak grup dari pengguna saat ini.
root@localhost:~# groups root root@localhost:~# su - journaldev journaldev@localhost:~$ groups journaldev sudo test_users test_users_pwd journaldev@localhost:~$

Mencantumkan Grup Pengguna Bersama dengan ID Grup
Kita dapat menggunakan perintah id untuk mencetak informasi pengguna. Perintah ini mencantumkan semua grup beserta id grupnya.
root@localhost:~# id journaldev uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),27(sudo),1004(test_users),1007(test_users_pwd) root@localhost:~# root@localhost:~# id root uid=0(root) gid=0(root) groups=0(root) root@localhost:~#

Mencantumkan Semua Pengguna Grup
Kita dapat menggunakan perintah getent atau file /etc/groups untuk mendapatkan semua pengguna yang tergabung dalam suatu grup.
root@localhost:~# getent group sudo sudo:x:27:journaldev,test root@localhost:~# root@localhost:~# getent group sudo | cut -d: -f4 journaldev,test root@localhost:~#

Kesimpulan
Perintah getent dan file /etc/group dapat digunakan untuk mendapatkan semua detail grup Linux. Kita dapat menggunakannya bersama perintah cut and sort untuk menampilkan output dengan cara yang lebih baik.
Referensi
- halaman manual getent
- potong halaman manual perintah