Belajar AlmaLinux - User, Permissions & Sudo
Episode 6 of 23

Belajar AlmaLinux - User, Permissions & Sudo

Mengelola identitas dan akses di AlmaLinux: membuat dan memodifikasi user serta group, membaca file identitas /etc/passwd dan /etc/shadow, mengatur sudo dengan visudo dan group wheel, plus ACL dan special bits SUID, SGID, dan sticky untuk kontrol akses tingkat lanjut.

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

Pendahuluan

Di episode 5 sebelumnya kita membahas module AppStream dan cara mengelola versi software. Sekarang kita pindah ke topik yang menentukan siapa boleh mengakses apa di sistem: user, permission, dan sudo. Ini bukan sekadar teknis — kebijakan user dan akses yang buruk adalah penyebab utama insiden keamanan di server Linux.

Episode ini membedah tiga lapisan: identitas (user dan group), administrasi (sudo), dan kontrol file (permission klasik, ACL, serta special bits). Ketiganya membentuk fondasi keamanan yang akan kalian sandingkan dengan SELinux mulai episode 13.

User & Group

Membuat dan Mengelola User

Perintah dasar manajemen user di AlmaLinux:

PerintahFungsi
sudo useradd -m -s /bin/bash devopsMembuat user baru dengan home dan shell
sudo usermod -aG wheel devopsMenambahkan user ke group (dengan flag -a append)
sudo passwd devopsMengatur password
sudo userdel -r devopsMenghapus user beserta home-nya
Membuat user baru
sudo useradd -m -c "DevOps Engineer" -s /bin/bash devops
sudo passwd devops

Pola useradd -m -s /bin/bash adalah standar: buat home directory dan set shell login. Tanpa flag -m, user tidak mendapat home — sesuatu yang sering menyebabkan masalah saat user pertama kali login.

File Identitas

Identitas user tersimpan dalam file teks sederhana yang bisa kalian baca langsung:

  • /etc/passwd — daftar user dengan UID, GID, home, dan shell.
  • /etc/shadow — hash password dan kebijakan kedaluwarsanya (hanya bisa dibaca root).
  • /etc/group — daftar group beserta anggotanya.
Baca file identitas
cat /etc/passwd
getent passwd devops

Format setiap baris /etc/passwd: name:x:UID:GID:comment:home:shell. Kolom x menandakan password sebenarnya tersimpan di /etc/shadow — jangan pernah menulis password plaintext di sini.

Default umask

umask menentukan permission default untuk file dan direktori baru. Nilai standar 022 berarti file baru dibuat dengan 644 (rw-r--r--) dan direktori dengan 755 (rwxr-xr-x). Cek nilai umask kalian:

Cek umask saat ini
umask

Untuk lingkungan yang lebih ketat, 077 membuat file baru hanya bisa diakses pemiliknya — keputusan yang banyak dipakai di server yang menyimpan data sensitif.

Sudo & Administrasi

Prinsip Least Privilege

Aturan emas administrasi Linux: jangan login sebagai root untuk pekerjaan sehari-hari. Root memiliki kekuatan mutlak, dan satu kesalahan ketik bisa menghancurkan sistem. Sebagai gantinya, pakai user biasa dan eskalsikan perintah satu per satu dengan sudo.

group wheel

Di AlmaLinux, user dalam group wheel otomatis mendapat hak sudo penuh. Tambahkan user ke group ini untuk memberinya akses administrasi:

Beri akses sudo via group wheel
sudo usermod -aG wheel devops

visudo dan /etc/sudoers

Konfigurasi sudo berada di /etc/sudoers — dan file ini harus diedit lewat visudo, bukan editor biasa. visudo memvalidasi syntax sebelum menyimpan, sehingga kesalahan penulisan tidak akan mengunci akses sudo secara permanen. Konfigurasi tambahan biasanya ditaruh di /etc/sudoers.d/.

Contoh aturan sudoers
# file /etc/sudoers.d/devops
devops ALL=(ALL) ALL
devops ALL=(ALL) NOPASSWD: /usr/bin/systemctl, /usr/bin/dnf5

Baris devops ALL=(ALL) ALL memberi izin penuh setelah diminta password. Baris NOPASSWD: mengizinkan perintah tertentu tanpa password — hemat untuk otomasi, tetapi harus dibatasi ke perintah yang aman saja.

Edit sudoers dengan aman
sudo visudo -f /etc/sudoers.d/devops

Warning

Hati-hati dengan NOPASSWD untuk perintah seperti chmod, chown, atau shell penuh — karena bisa disalahgunakan untuk menjadi root. Contoh di atas membatasi hanya systemctl dan dnf5, dua perintah yang sering dipakai oleh script otomasi.

Menambahkan Role Khusus

Untuk kebutuhan granular, kalian bisa mendefinisikan alias dan batasan:

Contoh sudoers dengan alias
Cmnd_Alias SERVICES = /usr/bin/systemctl restart *, /usr/bin/systemctl status *
%webteam ALL=(ALL) NOPASSWD: SERVICES

Aturan ini memberi anggota group webteam hak restart service tanpa password, tanpa memberi akses ke perintah lain — contoh nyata least privilege di organisasi.

File Security: Permission, ACL, dan Special Bits

chmod, chown, chgrp

Permission klasik Linux: tiga triplet rwx untuk pemilik (u), group (g), dan lainnya (o).

Mengatur owner dan permission
sudo chown devops:webteam /srv/www
chmod 750 /srv/www

chmod 750 berarti pemilik penuh, group baca+eksekusi, lainnya tanpa akses. chown devops:webteam mengatur pemilik dan group sekaligus.

ACL (Access Control List)

Permission klasik hanya mengenal satu pemilik dan satu group. ACL melampaui itu — kalian bisa memberikan izin ke user atau group tertentu secara spesifik:

Atur ACL untuk user spesifik
setfacl -m u:auditor:r /var/log/messages
getfacl /var/log/messages

setfacl -m u:auditor:r memberi user auditor hak baca pada file tertentu tanpa mengubah pemiliknya. getfacl menampilkan daftar ACL yang sedang aktif.

SUID, SGID, dan Sticky Bit

Tiga special bit yang wajib dipahami:

  • SUID (Set User ID) — file yang dieksekusi berjalan dengan identitas pemiliknya, bukan pengeksekusi. Contoh klasik: /usr/bin/passwd. Tandanya s di kolom owner.
  • SGID — pada direktori, file baru mewarisi group direktori; pada file, program berjalan dengan group pemilik. Tandanya s di kolom group.
  • Sticky bit — pada direktori seperti /tmp, hanya pemilik file yang boleh menghapus atau mengganti namanya. Tandanya t.
Set sticky bit dan SGID
chmod +t /shared/uploads
chmod g+s /shared/team
ls -ld /tmp /shared/uploads

Danger

SUID pada binary yang tidak dikenal adalah jendela eskalasi privilege. Pemindaian rutin seperti find / -perm -4000 2>/dev/null untuk mendaftar semua file SUID adalah praktik yang baik, dan setiap file SUID yang tidak dikenal patut diselidiki.

Kesalahan Umum (Common Pitfalls)

  1. Login sebagai root untuk pekerjaan harian. Kebiasaan berbahaya yang menghilangkan jejak audit dan menambah risiko. Pakai sudo.
  2. Mengedit /etc/sudoers tanpa visudo. Satu syntax error bisa mengunci seluruh akses sudo.
  3. Mengabaikan umask. File baru yang terbuka lebar tanpa sadar adalah pintu masuk data breach.
  4. Memakai chmod 777. Hampir tidak pernah dibutuhkan; gunakan ACL atau group untuk akses selektif.
  5. Lupa flag -a di usermod -G. Tanpa -a, user dikeluarkan dari semua group lama.

Penutup

Pada episode 6 ini kalian telah menguasai pengelolaan user, permission, dan sudo di AlmaLinux: membuat user dan group, membaca file identitas, memahami umask, mengonfigurasi sudo dengan visudo dan group wheel, hingga ACL dan special bits SUID, SGID, dan sticky.

Inti yang harus dibawa pulang:

  • Gunakan useradd/usermod/userdel untuk mengelola identitas, dan passwd untuk password.
  • Identitas tersimpan di /etc/passwd, hash di /etc/shadow, group di /etc/group.
  • Prinsip utama: least privilege — jangan root, gunakan sudo lewat group wheel.
  • Edit sudoers dengan visudo; manfaatkan /etc/sudoers.d/ dan NOPASSWD secara hati-hati.
  • ACL memberi kontrol per-user; SUID/SGID/sticky adalah special bits yang harus dikelola sadar.

Dengan fondasi akses yang rapi, kalian siap mengelola service. Di episode 7 selanjutnya, kita akan membahas Systemd, Services & Journald — bagaimana systemd menjalankan dan mengawasi service, target boot, membuat unit file, mengelola resource dengan cgroups, dan membaca log dengan journalctl. Sampai jumpa!

Belajar AlmaLinux - User, Permissions & Sudo | Belajar AlmaLinux