Belajar OpenBSD - User, Group & doas
Episode 5 of 23

Belajar OpenBSD - User, Group & doas

Mengelola identitas di OpenBSD: membuat user dengan useradd dan adduser, mengatur grup, membaca /etc/passwd dan /etc/group, serta mengganti sudo dengan doas yang lebih sederhana, aman, dan jelas lewat konfigurasi /etc/doas.conf.

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

Pendahuluan

Di episode 4 sebelumnya, kalian belajar memperluas sistem dengan package. Namun sistem tanpa pengguna yang terkelola adalah pintu terbuka. Episode ini membahas siapa yang boleh masuk ke sistem dan bagaimana mereka mendapat hak istimewa — dua pertanyaan inti keamanan.

Di OpenBSD, jawabannya ringkas: user dikelola dengan useradd/adduser, grup dengan groupadd, dan privilege escalation ditangani oleh doas — pengganti sudo yang dirancang dari nol untuk menjadi sesederhana dan seaman mungkin. Tanpa sudo, tanpa file konfigurasi panjang; justru itulah kekuatannya.

User di OpenBSD

/etc/passwd dan File Identitas

Informasi user di OpenBSD tersimpan klasik: /etc/passwd berisi daftar akun, /etc/master.passwd (hanya root) berisi versi dengan password ter-hash, dan /etc/group memetakan keanggotaan grup. Perubahan dilakukan lewat perintah khusus, bukan edit manual file.

Membuat User dengan useradd

Perintah utama adalah useradd:

Membuat user
useradd -m -s /bin/ksh arman
passwd arman
  • -m membuat home directory di /home/arman.
  • -s menentukan shell login (default OpenBSD adalah /bin/ksh).
  • Setelah user dibuat, atur password dengan passwd.

Varian lain:

  • adduser: interaktif, bagus untuk pemula, menuntun langkah demi langkah.
  • userdel: menghapus user; userdel -r arman ikut menghapus home directory.
  • usermod: mengubah properti user, misalnya usermod -s /bin/zsh arman.

Group dan Keanggotaan

Grup dibentuk dengan groupadd dan keanggotaan diatur lewat usermod:

Membuat grup dan menambahkan user
groupadd www
usermod -G www arman
id arman

id arman menampilkan UID, GID, dan grup tempat user berada. Grup penting di OpenBSD karena banyak hak (akses ke perangkat, izin tertentu) diberikan lewat keanggotaan grup. Sebagai contoh, user perlu masuk grup operator atau grup khusus tertentu untuk mengakses perangkat tertentu.

Warning

Beberapa grup di OpenBSD memberi hak yang nyata, misalnya wheel (bisa memakai su ke root) dan staff (bisa mengakses sumber daya memori lebih banyak). Berikan keanggotaan grup secara hemat, sesuai prinsip least privilege.

doas: Pengganti sudo

Mengapa doas

sudo adalah utilitas besar dengan banyak fitur, kompleksitas, dan riwayat bug keamanan. OpenBSD menginginkan sesuatu yang kecil, jelas, dan diaudit: itulah doas. Kode doas sangat ringkas, konfigurasinya mudah dibaca, dan seluruh perilakunya mudah diprediksi. Tidak ada fitur tak terpakai yang membawa risiko tersembunyi.

Konfigurasi /etc/doas.conf

Semua kebijakan doas ada di satu file kecil, /etc/doas.conf:

Contoh /etc/doas.conf
permit persist keepenv :wheel
deny nopass
 
permit nopass :backupcmd

Baris pertama membolehkan semua anggota grup wheel menjalankan perintah sebagai root, dengan persist (tidak dimintai password lagi selama beberapa menit setelah autentikasi berhasil) dan keepenv (mempertahankan environment). Baris kedua dan ketiga menunjukkan pola deny/allow: aturan dievaluasi dari atas ke bawah, aturan pertama yang cocok menang.

Penggunaan Sehari-hari

Menjalankan perintah dengan doas
doas pkg_add nginx
doas vi /etc/pf.conf
doas -u www /usr/local/bin/script

doas tanpa argumen menjalankan perintah sebagai root. Opsi -u user menjalankan perintah sebagai user lain. Karena doas bukan sudo, jangan pernah mencoba sudo — ia tidak ada di OpenBSD.

doas config

Untuk memeriksa sintaks dan validitas konfigurasi:

Memvalidasi konfigurasi doas
doas -C /etc/doas.conf
doas -n doas-config

doas -C memvalidasi file konfigurasi tanpa mengeksekusi perintah — kebiasaan yang sama dengan pfctl -nf di episode 12.

doas vs su

Aspekdoassu
Hak yang diberikanSesuai ruleset, bisa per-commandSelalu root penuh
AutentikasiPassword user yang menjalankanPassword root
AuditingMencatat lewat syslogTergantung konfigurasi shell
GranularitasBisa membatasi command & userSemua atau tidak sama sekali

Untuk administrasi sehari-hari, doas lebih disukai: granular, tercatat, dan tanpa berbagi password root. su tetap ada, tetapi dianggap jalur darurat.

Praktik Least Privilege dalam Praktik

Bayangkan server web: kalian tidak akan login sebagai root untuk mengelola konten. Buat user biasa untuk deploy, beri ia keanggotaan grup yang tepat, dan hanya beri akses root untuk tugas-tugas yang memang butuh. Setiap kali merasa "ah, sekali saja pake doas", ingat: doas itu tersedia, tetapi kelayakan menjalankan perintah root harus dipertanyakan dulu.

Penutup

Di episode 5 ini kalian mengelola identitas OpenBSD secara menyeluruh: membuat user dengan useradd dan adduser, mengatur grup dengan groupadd, memahami /etc/passwd dan /etc/group, serta mengganti sudo dengan doas yang sederhana dan aman lewat /etc/doas.conf.

Inti yang harus dibawa pulang:

  • User dibuat dengan useradd -m -s /bin/ksh, dan grup dengan groupadd.
  • wheel dan staff adalah grup sensitif; berikan keanggotaan dengan hemat.
  • doas adalah pengganti sudo: konfigurasi kecil, aturan dievaluasi dari atas ke bawah.
  • doas -C memvalidasi konfigurasi tanpa mengeksekusi.

Di episode 6 selanjutnya, kita akan mengelola base system services dan sistem rc — memahami /etc/rc.conf, menyalakan layanan dengan rcctl, mempelajari skrip di /etc/rc.d, dan cara mengatur flags sebuah service. Sistem kalian mulai hidup dengan layanan yang terkelola!

Belajar OpenBSD - User, Group & doas | Belajar OpenBSD