Belajar Rocky Linux - User, Group & Privilege Management
Episode 6 of 23

Belajar Rocky Linux - User, Group & Privilege Management

Episode ini membahas pengelolaan user dan group di Rocky Linux, mulai dari useradd dan file passwd-shadow-group, konfigurasi sudo dengan prinsip least privilege, hingga access control dengan permission, ACL, capabilities, dan SUID/SGID/sticky bit.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Di episode 5 sebelumnya kalian sudah memahami dari mana paket software berasal. Sekarang kita bergeser ke topik yang tidak kalah penting: siapa yang boleh mengakses sistem dan apa yang boleh mereka lakukan. Setiap proses di Rocky Linux berjalan atas nama sebuah user, dan setiap user punya hak akses terhadap file, perintah, dan layanan.

Ilmu ini adalah jantung keamanan sistem. Kalian tidak akan bisa mengamankan server tanpa memahami user, group, sudo, dan permission. Bayangkan sistem operasi sebagai gedung kantor: user adalah penghuninya, group adalah tim, sudo adalah kunci pintu akses, dan permission adalah aturan siapa boleh masuk ke ruangan mana. Episode ini akan memberi kalian seluruh set kunci dan aturannya.

User dan Group

Membuat dan Mengelola User

Operasi user dimulai dengan perintah sederhana:

Membuat user baru
useradd -m -s /bin/bash arman
passwd arman
Memodifikasi dan menghapus user
usermod -aG wheel arman
userdel -r arman

useradd -m -s /bin/bash arman membuat user arman dengan home directory dan shell Bash. usermod -aG wheel arman menambahkan user ke grup wheel — kita akan membahas artinya sebentar lagi. userdel -r arman menghapus user beserta home directory-nya.

Group

Group mengelompokkan user untuk berbagi akses file. Operasinya simetris dengan user:

Mengelola group
groupadd developers
usermod -aG developers arman
groupdel developers

Sebuah user bisa menjadi anggota beberapa group sekaligus, dan setiap file memiliki satu group pemilik.

File Passwd, Shadow, dan Group

Di balik perintah di atas ada tiga file teks yang menjadi database identitas:

Melihat database user
cat /etc/passwd
Melihat password ter-hash
cat /etc/shadow
cat /etc/group
  • /etc/passwd — satu baris per user: nama, UID, GID, komentar, home, dan shell. Dapat dibaca semua orang.
  • /etc/shadow — hash password dan kebijakan kedaluwarsa. Hanya dapat dibaca root.
  • /etc/group — definisi group dan keanggotaannya.

Inilah alasan password disimpan di /etc/shadow dan bukan di /etc/passwd: hash yang bocor tetap lebih aman daripada hash yang mudah diakses.

Sudo dan Administrasi

Konsep Sudo

Prinsip terpenting dalam administrasi Linux: jangan bekerja sebagai root setiap saat. Root memiliki kekuatan tanpa batas, dan satu kesalahan ketik sebagai root bisa menghancurkan sistem. Solusinya adalah sudo — menjalankan perintah spesifik dengan hak root, hanya saat dibutuhkan.

Pada Rocky Linux, keanggotaan grup wheel memberikan akses sudo penuh:

Menjalankan perintah dengan sudo
sudo dnf5 install vim

Perintah ini menginstal vim dengan hak root, sementara kalian tetap login sebagai user biasa.

File Sudoers

Aturan sudo disimpan di /etc/sudoers dan direktori /etc/sudoers.d/. File ini sebaiknya diedit dengan visudo, yang memvalidasi sintaks sebelum menyimpan:

Membuka sudoers
visudo
Melihat rule wheel default
grep wheel /etc/sudoers

Baris %wheel ALL=(ALL) ALL berarti semua anggota wheel boleh menjalankan semua perintah sebagai semua user.

NOPASSWD dan Least Privilege

Untuk skenario tertentu — misalnya script otomatis — kalian bisa mengizinkan perintah tertentu tanpa diminta password:

Aturan NOPASSWD di sudoers.d
arman ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart httpd
Membuat file rule
echo 'arman ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart httpd' \
  > /etc/sudoers.d/arman-restart-httpd
chmod 440 /etc/sudoers.d/arman-restart-httpd

Perhatikan prinsip least privilege: user arman hanya boleh me-restart httpd tanpa password, bukan semua perintah. Pemberian akses yang minimal tapi cukup adalah kebiasaan yang akan melindungi kalian di produksi.

Warning

NOPASSWD untuk semua perintah sama berbahayanya dengan login sebagai root. Batasi NOPASSWD hanya untuk perintah tertentu yang memang harus berjalan tanpa interaksi — dan pastikan file di sudoers.d memiliki permission yang benar.

Access Control

File Permissions dan umask

Setiap file memiliki tiga set permission — untuk owner, group, dan others — masing-masing dengan izin read (4), write (2), dan execute (1):

Melihat permission
ls -l /etc/passwd
Mengubah permission
chmod 640 /etc/passwd

Nilai umask menentukan permission default untuk file baru. Umask 022 menghasilkan file 644 dan direktori 755:

Melihat umask
umask

ACL untuk Kontrol yang Lebih Halus

Permission tradisional terbatas pada tiga kategori. ACL (Access Control List) memungkinkan memberikan izin spesifik ke user atau group tambahan:

Memberi akses ACL
setfacl -m u:joko:rw /var/www/index.html
getfacl /var/www/index.html

setfacl -m u:joko:rw memberi user joko akses baca-tulis ke file tanpa harus memasukkan dia ke dalam group pemilik. getfacl menampilkan semua izin termasuk ACL.

Capabilities

Capabilities memecah hak root menjadi unit kecil. Daripada memberikan seluruh kekuatan root, kalian bisa memberikan satu kemampuan spesifik — misalnya kemampuan mengikat ke port rendah:

Memberi kemampuan bind port
setcap cap_net_bind_service=+ep /usr/bin/node
getcap /usr/bin/node

Dengan setcap cap_net_bind_service=+ep, Node.js bisa melayani di port 80 tanpa berjalan sebagai root — praktik yang jauh lebih aman.

SUID, SGID, dan Sticky Bit

Tiga permission khusus terakhir mengubah perilaku file:

  • SUID (4) — file yang dieksekusi berjalan dengan identitas pemiliknya, bukan pelakunya. Contoh klasik: /usr/bin/passwd berjalan sebagai root.
  • SGID (2) — pada direktori, file baru mewarisi group direktori; pada file, berjalan dengan identitas group.
  • Sticky bit (1) — pada direktori seperti /tmp, hanya pemilik file yang bisa menghapus isinya.
Melihat permission khusus
ls -l /usr/bin/passwd
ls -ld /tmp
Menetapkan sticky bit dan SGID
chmod +t /var/shared
chmod g+s /var/shared

Pada passwd, huruf s di posisi owner menunjukkan SUID aktif. Kombinasi SUID dan SGID adalah fitur yang kuat sekaligus berbahaya — selalu audit file SUID secara berkala, karena celah pada file SUID adalah jalan favorit penyerang untuk eskalasi privilege.

Penutup

Di episode 6 ini kalian sudah menguasai pengelolaan identitas dan hak akses di Rocky Linux: pembuatan dan pemeliharaan user dan group dengan useradd, usermod, dan userdel; struktur file passwd, shadow, dan group; konfigurasi sudo dan sudoers dengan prinsip least privilege; serta access control tingkat lanjut dengan permission, umask, ACL, capabilities, dan SUID/SGID/sticky bit.

Inti yang harus dibawa pulang:

  • Gunakan user biasa dan sudo lewat grup wheel, jangan bekerja sebagai root terus-menerus.
  • Hash password tersimpan di /etc/shadow; file passwd dan group hanyalah metadata.
  • Edit sudoers dengan visudo dan batasi NOPASSWD hanya untuk perintah tertentu.
  • ACL memberi kontrol di luar tiga kategori permission tradisional.
  • Capabilities menggantikan kebutuhan root penuh untuk satu kemampuan spesifik.
  • Audit file SUID secara berkala untuk menutup jalur eskalasi privilege.

Di episode 7 selanjutnya kita akan membahas systemd dan manajemen layanan — cara mengelola layanan dengan systemctl, memahami targets, membuat unit file service sendiri, override konfigurasi, dan membaca log dengan journalctl. Sekarang kalian tahu siapa yang mengelola sistem; giliran memahami siapa yang menjalankannya!