Belajar FreeBSD - User, Group & Sudo
Episode 5 of 23

Belajar FreeBSD - User, Group & Sudo

Mengelola akun pengguna dan grup di FreeBSD dengan pw dan adduser, memahami struktur /etc/passwd, /etc/group, dan /etc/master.passwd, lalu mengatur privilege escalation dengan su, doas, dan sudo. Kalian akan tahu kapan memakai wheel group dan bagaimana mengamankan akses root.

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

Pendahuluan

Di episode 4 sebelumnya kalian sudah belajar menginstal software dengan pkg dan ports. Sekarang giliran fondasi keamanan paling dasar: manajemen user, group, dan privilege. Tanpa pengelolaan akun yang baik, sistem kalian — sebagus apapun firewallnya — tetap rapuh dari dalam.

FreeBSD menangani user dengan cara yang sangat BSD: file flat seperti /etc/passwd dan /etc/master.passwd, tool pw yang konsisten, dan sistem grup yang sederhana. Episode ini mengupas semuanya, lalu membahas perdebatan abadi: sudo atau doas?

File Sistem untuk User dan Group

/etc/passwd dan /etc/master.passwd

FreeBSD menyimpan akun user di dua file. /etc/passwd berisi data yang bisa dibaca publik. /etc/master.passwd berisi data sensitif termasuk hash password, dan hanya bisa dibaca root. Setiap baris mewakili satu user dengan kolom yang dipisahkan titik dua:

Melihat isi /etc/passwd
cat /etc/passwd

Kolom-kolomnya meliputi nama login, UID, GID, komentar, direktori home, dan shell. Password tidak pernah disimpan di /etc/passwd — hanya di /etc/master.passwd, atau di database yang lebih modern lewat pwd_mkdb.

/etc/group

Grup disimpan di /etc/group dengan format nama, password (umumnya *), GID, dan daftar member:

Melihat isi /etc/group
cat /etc/group

Grup wheel sangat penting — anggotanya diizinkan melakukan su ke root. Kelompok ini adalah gerbang administrasi di FreeBSD.

Warning

Jangan mengedit /etc/passwd atau /etc/master.passwd dengan editor biasa. Perubahan yang tidak konsisten bisa merusak database user. Selalu gunakan pw atau vipw, dan biarkan pwd_mkdb memperbarui indeks binary-nya.

Mengelola User dengan pw

pw adalah tool utama manajemen user FreeBSD. Sintaksnya konsisten dan mendukung banyak operasi.

Membuat User

Membuat user baru dengan pw
pw useradd john -c "John Doe" -d /home/john -m -G wheel -s /bin/sh

Perintah di atas membuat user john, home directory /home/john, anggota grup wheel, dengan shell /bin/sh. Tanda -m memastikan home directory ikut dibuat.

Menghapus dan Memodifikasi

Menghapus dan memodifikasi user
pw userdel john
pw usermod john -G wheel,www -s /bin/tcsh

pw usermod bisa mengubah grup, shell, atau komentar. Periksa hasilnya dengan pw usershow:

Melihat detail user
pw usershow john
pw groupshow wheel

adduser: Alternatif Interaktif

Jika kalian lebih suka pendekatan wizard interaktif, FreeBSD menyediakan adduser:

Menjalankan adduser interaktif
adduser

adduser memandu pembuatan akun dengan pertanyaan langkah-demi-langkah dan menyimpan preset di /etc/adduser.conf. Cocok untuk pengguna baru yang belum hafal flag pw.

Mengatur Grup

Membuat dan mengelola grup dilakukan dengan pw groupadd dan pw groupmod:

Membuat dan mengelola grup
pw groupadd developers
pw groupmod developers -M john,jane
pw groupdel developers

Grup adalah mekanisme izin berbasis file. Kalian bisa mengatur akses file dengan mengubah owner group dan permission — pola yang harus kalian kuasai di episode 7 saat membahas filesystem.

Privilege Escalation: su, doas, dan sudo

su: Masuk Menjadi Root

Dengan su, user di grup wheel bisa menjadi root setelah memasukkan password root:

Berpindah ke root dengan su
su -

su - memulai shell login root dengan environment bersih. Masalahnya, kalian perlu tahu password root — dan membagikan password root antar admin adalah kebiasaan buruk.

sudo: Kontrol Granular

sudo memungkinkan user tertentu menjalankan perintah tertentu sebagai root, tanpa harus tahu password root. Diinstal dari pkg:

Menginstal sudo
pkg install sudo

Konfigurasinya di /usr/local/etc/sudoers, yang harus diedit dengan visudo:

Mengedit sudoers dengan visudo
visudo

Info

Jangan pernah mengedit /usr/local/etc/sudoers dengan editor biasa. visudo memvalidasi sintaks sebelum menyimpan — kesalahan kecil di file ini bisa mengunci kalian keluar dari akses admin.

doas: Alternatif Ringan Gaya OpenBSD

doas adalah alternatif modern dari sudo, populer karena konfigurasinya yang singkat dan kode yang lebih kecil. Instal dan buat konfigurasinya:

Menginstal doas
pkg install doas

Buat /usr/local/etc/doas.conf:

Membuat konfigurasi doas
echo "permit persist :wheel" > /usr/local/etc/doas.conf
chmod 0400 /usr/local/etc/doas.conf

Setelah itu anggota wheel bisa menjalankan perintah root dengan doas:

Memakai doas
doas pkg upgrade

Sintaks permit persist :wheel mengizinkan seluruh grup wheel, dan persist membuat kredensial bertahan beberapa menit agar tidak diminta password berulang kali.

Memilih antara sudo dan doas

Kriteriasudodoas
KonfigurasiKompleks, granularSingkat
Ukuran kodeBesarKecil
EkosistemSangat luasSedang
Cocok untukEnterprise, kebijakan kompleksServer pribadi, kesederhanaan

Success

Untuk sebagian besar lab belajar, doas dengan satu baris permit persist :wheel sudah lebih dari cukup. Pindah ke sudo ketika kebutuhan aturan mulai kompleks — misalnya membatasi perintah tertentu untuk user tertentu.

Praktik Terbaik Keamanan Akun

Beberapa kebiasaan yang wajib kalian pegang sejak dini:

  • Nonaktifkan login root langsung di SSH; gunakan user + doas atau sudo (detail di episode 14).
  • Batasi keanggotaan wheel hanya untuk admin yang benar-benar butuh.
  • Gunakan password yang kuat untuk user, dan jangan pernah berbagi password root.
  • Periksa aktivitas login secara berkala di /var/log/auth.log atau last:
Memeriksa riwayat login
last
last -f /var/log/utx.lastlogin

Penutup

Di episode 5 ini kalian sudah menguasai manajemen user dan grup di FreeBSD: file sistem passwd, master.passwd, dan group, penggunaan pw untuk membuat, menghapus, dan memodifikasi akun, serta perbandingan su, sudo, dan doas untuk privilege escalation.

Inti yang harus dibawa pulang:

  • Gunakan pw, bukan editor manual, untuk mengubah akun user.
  • wheel adalah grup gerbang administrasi untuk akses su.
  • sudo memberi kontrol granular; doas menawarkan kesederhanaan.
  • Edit sudoers hanya dengan visudo; konfigurasi doas.conf harus mode 0400.
  • Jangan berbagi password root — pakai akun personal dengan privilege escalation.

Di episode 6 selanjutnya kita akan membahas system services & rc system — bagaimana FreeBSD mengelola service dari boot hingga shutdown, struktur /etc/rc.conf, skrip rc, perintah service, dan sysrc untuk mengelola konfigurasi tanpa mengedit file manual. Inilah jantung otomasi sistem kalian.

Belajar FreeBSD - User, Group & Sudo | Belajar FreeBSD