Perintah id: memeriksa UID dan grup, whoami, groups, dan grup tambahan
Di server Linux, UID dan grup akun saat ini diperiksa dengan perintah id; jika hanya nama akun yang diperlukan dipakai whoami, dan jika hanya nama grup yang diperlukan dipakai groups. Ketika ketiga perintah dijalankan berurutan di server AlmaLinux 9 dan Debian 12 lalu outputnya dibandingkan, id -un dan whoami menampilkan nama akun yang sama, dan groups menampilkan daftar grup dari id dengan menyisakan namanya saja.
Output di bawah diperoleh di server AlmaLinux 9.8 dengan akun root dan di server Debian 12 dengan akun biasa. Nama dan nomor akun login serta grup tambahannya diganti dengan nilai contoh (user1, 1000, adm, systemd-journal).
1️⃣ Cara dasar memakai perintah id
Jika id dijalankan tanpa opsi, informasi akun yang menjalankan shell saat ini muncul dalam satu baris. Saat dijalankan dengan akun root, ketiga kolom bernilai 0(root).
iduid=0(root) gid=0(root) groups=0(root)Kolom uid adalah nomor dan nama akun, dan kolom gid adalah nomor dan nama grup utama (primary group). Kolom groups adalah semua grup yang diikuti akun itu, dengan grup utama di paling depan.
Jika nama akun ditulis setelah id, informasi akun itu ditampilkan. Saat akun biasa user1 yang punya grup tambahan diperiksa, di kolom groups setelah grup utama user1 muncul adm dan systemd-journal. Grup-grup yang diikuti di luar grup utama inilah grup tambahan (supplementary group).
id user1uid=1000(user1) gid=1000(user1) groups=1000(user1),4(adm),190(systemd-journal)Banyak akun memiliki nomor UID dan gid yang sama sehingga kedua angka itu mudah dianggap nilai yang sama, tetapi akun adm yang ada secara bawaan di server memiliki UID 3 dan nomor grup utama 4. Akun operator memiliki root sebagai grup utamanya.
id admuid=3(adm) gid=4(adm) groups=4(adm)id operatoruid=11(operator) gid=0(root) groups=0(root)Jika beberapa akun ditulis, hasilnya ditampilkan satu per baris.
id root binuid=0(root) gid=0(root) groups=0(root)
uid=1(bin) gid=1(bin) groups=1(bin)Jika akun yang tidak ada ditulis, muncul galat [no such user], dan kode keluarnya 1.
id no-such-user9id: 'no-such-user9': no such userecho $?1Kode keluar saat akun yang ada ditulis adalah 0, sehingga bisa dipakai di skrip sebagai syarat untuk memeriksa apakah sebuah akun ada.
2️⃣ Opsi perintah id
Untuk meneruskan satu nomor saja dari seluruh output ke skrip, satu kolom dipilih dengan opsi. -u menampilkan UID, -g nomor grup utama, dan -G semua nomor grup yang diikuti.
id -u0id -u daemon2id -G user11000 4 190Jika -n dipakai bersama, yang muncul nama, bukan nomor. Saat grup user1 diperiksa dengan [id -Gn], tiga nomor berubah menjadi tiga nama.
id -Gn user1user1 adm systemd-journalid -gn user1user1-n dan -r dipakai bersama salah satu dari -u, -g, dan -G. Saat -n ditulis sendirian, muncul galat di bawah.
id -nid: cannot print only names or real IDs in default format-r menampilkan ID nyata (real), bukan ID efektif (effective). Saat [id -ur] dijalankan di shell akun root, muncul 0. Jika dua atau lebih opsi pemilih nomor seperti -u dan -g ditulis bersama, muncul galat [cannot print "only" of more than one choice]. Opsinya dirangkum di bawah.
| Opsi | Salin | Penjelasan |
|---|---|---|
| -u--user | Menampilkan nomor UID | |
| -g--group | Menampilkan nomor grup utama | |
| -G--groups | Menampilkan semua nomor grup yang diikuti | |
| -n--name | Bersama -u, -g, atau -G, menampilkan nama sebagai pengganti nomor | |
| -r--real | Bersama -u, -g, atau -G, menampilkan ID nyata (real) sebagai pengganti ID efektif |
| Opsi | Salin | Penjelasan |
|---|---|---|
| -Z--context | Menampilkan konteks keamanan proses saja | |
| -z--zero | Memisahkan item output dengan karakter NUL sebagai pengganti spasi; tidak bisa dipakai pada format bawaan | |
| -a | Hanya diterima agar kompatibel dengan versi id yang lain, lalu diabaikan | |
| --help | Menampilkan bantuan | |
| --version | Mencetak versi |
🔲 Simulator perintah id
Simulator di bawah dimulai dengan akun user1 yang punya grup tambahan. Setelah grup wheel ditambahkan dengan chip [🖊 Other window], [id] dan [id user1] bisa dibandingkan, dan grup shell baru bisa diperiksa dengan chip [🔁 Log in again].
3️⃣ Perintah whoami dan id -un
Jika hanya nama akun shell saat ini yang diperlukan, whoami dijalankan. Halaman man menjelaskan whoami sebagai perintah yang sama dengan [id -un]. Saat kedua perintah dijalankan dengan akun root, keduanya menampilkan root.
whoamirootid -unrootDengan akun biasa di server Debian 12 pun kedua perintah menampilkan nama akun yang sama.
whoamiuser1id -unuser1whoami menampilkan nama akun yang sesuai dengan UID efektif (effective) saat ini. Perintah ini hanya memeriksa akun saat ini, sehingga muncul galat jika nama akun ditambahkan di belakangnya.
whoami user1whoami: extra operand 'user1'
Try 'whoami --help' for more information.Nama atau nomor akun lain diperiksa dengan menulis akun itu setelah id.
id -un user1user1Jika -u ditulis sebagai pengganti -un, di tempat yang sama muncul nomor UID, bukan nama akun.
4️⃣ Perintah groups dan grup tambahan
groups hanya menampilkan nama grup dalam satu baris. Tanpa nama akun, yang muncul adalah grup shell saat ini, dan dengan akun root hanya ada root.
groupsrootJika nama akun ditulis, muncul nama akun lalu grupnya setelah titik dua. Saat beberapa akun ditulis, hasilnya ditampilkan satu per baris.
groups user1 daemonuser1 : user1 adm systemd-journal
daemon : daemonGrup utama dan grup tambahan dicatat di tempat yang berbeda. Grup tambahan ditulis sebagai anggota di kolom keempat database grup (/etc/group), sedangkan grup utama ditulis sebagai nomor di kolom keempat informasi akun (/etc/passwd).
getent group admadm:x:4:user1getent group user1user1:x:1000:getent passwd daemondaemon:x:2:2:daemon:/sbin:/sbin/nologinGrup user1, yaitu grup utama user1, memiliki kolom keempat yang kosong, dan pada grup tambahan adm, user1 tertulis sebagai anggota. Angka 2 di kolom keempat baris akun daemon adalah nomor grup utama.
Untuk menambahkan akun ke grup tambahan dipakai perintah usermod dalam bentuk [usermod -aG grup akun]. Jika hanya -G yang dipakai tanpa -a, akun keluar dari grup tambahan lama yang tidak ditulis di daftar, sehingga -a ditulis bersama.
groups yang dijalankan tanpa nama akun menampilkan grup proses shell saat ini. Halaman man menjelaskan bahwa nilai ini bisa berbeda dari database jika database grup berubah.
Karena itu, tepat setelah grup diubah, grup di database diperiksa dengan [groups akun] atau [id akun], dan login diulang agar perubahan berlaku di shell. Perintah untuk mengganti ID grup saat ini tanpa logout adalah newgrp.
🔢 FAQ & Konten yang Direkomendasikan
Membuat akun
Linux: perintah useradd & perintah passwd
Perintah untuk membuat akun pengguna baru dan menetapkan kata sandi akun itu.
Menghapus akun
[Linux] Perintah userdel: menghapus akun pengguna
Perintah untuk menghapus akun pengguna yang tidak dipakai sekaligus membersihkan folder home-nya.
Masa berlaku kata sandi
Perintah chage Linux
Perintah untuk memeriksa dan mengubah masa berlaku serta tanggal kedaluwarsa kata sandi akun pengguna.
ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.