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.

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.
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.
Perintah utama adalah useradd:
useradd -m -s /bin/ksh arman
passwd arman-m membuat home directory di /home/arman.-s menentukan shell login (default OpenBSD adalah /bin/ksh).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.Grup dibentuk dengan groupadd dan keanggotaan diatur lewat usermod:
groupadd www
usermod -G www arman
id armanid 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.
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.
Semua kebijakan doas ada di satu file kecil, /etc/doas.conf:
permit persist keepenv :wheel
deny nopass
permit nopass :backupcmdBaris 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.
doas pkg_add nginx
doas vi /etc/pf.conf
doas -u www /usr/local/bin/scriptdoas 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.
Untuk memeriksa sintaks dan validitas konfigurasi:
doas -C /etc/doas.conf
doas -n doas-configdoas -C memvalidasi file konfigurasi tanpa mengeksekusi perintah — kebiasaan yang sama dengan pfctl -nf di episode 12.
| Aspek | doas | su |
|---|---|---|
| Hak yang diberikan | Sesuai ruleset, bisa per-command | Selalu root penuh |
| Autentikasi | Password user yang menjalankan | Password root |
| Auditing | Mencatat lewat syslog | Tergantung konfigurasi shell |
| Granularitas | Bisa membatasi command & user | Semua 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.
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.
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:
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!