Perintah id: memeriksa UID dan grup, whoami, groups, dan grup tambahan

Lingkungan ujiKeluarga RHELAlmaLinux 9.8coreutils 8.32akun rootDebian 12 · coreutils 9.1 akun biasa
Perintah Pengguna · Grupid, whoami, groupsLokasi/usr/bin/id

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

  • ↪️ Membaca tiga kolom uid, gid, dan groups

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).

id
uid=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 user1
uid=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 adm
uid=3(adm) gid=4(adm) groups=4(adm)
id operator
uid=11(operator) gid=0(root) groups=0(root)

Jika beberapa akun ditulis, hasilnya ditampilkan satu per baris.

id root bin
uid=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-user9
id: 'no-such-user9': no such user
echo $?
1

Kode 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

  • ↪️ -u, -g, -G untuk nomor dan -n untuk nama

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 -u
0
id -u daemon
2
id -G user1
1000 4 190

Jika -n dipakai bersama, yang muncul nama, bukan nomor. Saat grup user1 diperiksa dengan [id -Gn], tiga nomor berubah menjadi tiga nama.

id -Gn user1
user1 adm systemd-journal
id -gn user1
user1

-n dan -r dipakai bersama salah satu dari -u, -g, dan -G. Saat -n ditulis sendirian, muncul galat di bawah.

id -n
id: 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.

OpsiSalinPenjelasan
-u--userMenampilkan nomor UID
-g--groupMenampilkan nomor grup utama
-G--groupsMenampilkan semua nomor grup yang diikuti
-n--nameBersama -u, -g, atau -G, menampilkan nama sebagai pengganti nomor
-r--realBersama -u, -g, atau -G, menampilkan ID nyata (real) sebagai pengganti ID efektif
OpsiSalinPenjelasan
-Z--contextMenampilkan konteks keamanan proses saja
-z--zeroMemisahkan item output dengan karakter NUL sebagai pengganti spasi; tidak bisa dipakai pada format bawaan
-aHanya diterima agar kompatibel dengan versi id yang lain, lalu diabaikan
--helpMenampilkan bantuan
--versionMencetak 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].

Simulator perintah idcoreutils 8.32
[root@server work]#
Hanya berjalan di dalam browser. Setelah grup diubah dengan chip [🖊 Other window], [id] dan [id user1] dibandingkan, lalu grup shell baru diperiksa dengan chip [🔁 Log in again].

3️⃣ Perintah whoami dan id -un

  • ↪️ Memeriksa nama akun saat ini dan memeriksa akun lain

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.

whoami
root
id -un
root

Dengan akun biasa di server Debian 12 pun kedua perintah menampilkan nama akun yang sama.

whoami
user1
id -un
user1

whoami 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 user1
whoami: extra operand 'user1'
Try 'whoami --help' for more information.

Nama atau nomor akun lain diperiksa dengan menulis akun itu setelah id.

id -un user1
user1

Jika -u ditulis sebagai pengganti -un, di tempat yang sama muncul nomor UID, bukan nama akun.

4️⃣ Perintah groups dan grup tambahan

  • ↪️ Grup utama dan grup tambahan, serta shell setelah grup diubah

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.

groups
root

Jika nama akun ditulis, muncul nama akun lalu grupnya setelah titik dua. Saat beberapa akun ditulis, hasilnya ditampilkan satu per baris.

groups user1 daemon
user1 : user1 adm systemd-journal
daemon : daemon

Grup 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 adm
adm:x:4:user1
getent group user1
user1:x:1000:
getent passwd daemon
daemon:x:2:2:daemon:/sbin:/sbin/nologin

Grup 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

Boleh. Saat [id 0] dijalankan di server AlmaLinux 9.8, muncul uid=0(root) gid=0(root) groups=0(root), sama dengan [id root].

Mulai dari nomor yang tertulis pada UID_MIN di /etc/login.defs. Di server AlmaLinux 9.8 nilainya 1000, dan SYS_UID_MIN serta SYS_UID_MAX di file yang sama adalah 201 dan 999, yaitu rentang akun sistem.

who am i adalah who yang diikuti dua kata; cara kerjanya sama dengan opsi -m dan menampilkan satu baris informasi login terminal yang sedang dipakai mengetik. whoami hanya menampilkan satu baris nama akun dari UID efektif saat ini.

ℹ️ 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.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Buktikan bahwa Anda manusia: 9   +   1   =