Belajar NetBSD - User, Group & Privileges
Episode 5 of 23

Belajar NetBSD - User, Group & Privileges

Mengelola user dan group di NetBSD dengan useradd, userdel, dan groupadd, memahami file /etc/passwd dan /etc/group, serta mengatur akses root dengan su, doas, dan sudo.

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

Pendahuluan

Di episode 4 sebelumnya kita telah mengisi sistem dengan software lewat pkgsrc dan pkg_add. Namun sebuah sistem yang baik tidak dijalankan sebagai root sepanjang waktu — ia membutuhkan penghuni yang terstruktur. Pada episode ini kita akan mengatur user, group, dan privileges di NetBSD: membuat akun, membagi user ke dalam grup, dan membatasi akses administratif dengan su, doas, dan sudo.

User dan Group: Konsep Dasar

Di NetBSD, setiap proses berjalan atas nama sebuah user (identitas) dan satu atau lebih group (kolektif). User dan group didefinisikan dalam dua file teks:

FileIsi
/etc/passwdDaftar user: username, UID, GID, home, shell
/etc/groupDaftar group: nama, GID, anggota

Kalian bisa membaca keduanya langsung:

Membaca definisi user dan group
cat /etc/passwd
cat /etc/group
Contoh baris /etc/passwd
root:*:0:0:Charlie &:/root:/bin/sh
bin:*:1:1:Bin:/bin:/sbin/nologin
arman:*:1000:100:Arman Dwi:/home/arman:/bin/ksh

Perhatikan field yang dipisahkan titik dua: username, password (disimpan di /etc/master.passwd — isi /etc/passwd hanya berisi *), UID, GID, GECOS (nama lengkap), home directory, dan shell. Ini struktur UNIX klasik yang diwarisi NetBSD.

Warning

Jangan pernah mengedit /etc/passwd secara manual untuk mengubah password. Password disimpan di file /etc/master.passwd yang dilindungi, dan harus diubah lewat passwd atau chpass. Mengedit file yang salah bisa membuat sistem tidak bisa login.

Membuat User: useradd

Perintah useradd membuat user dengan satu baris, dan secara otomatis memperbarui /etc/passwd, /etc/master.passwd, dan /etc/group:

Membuat user baru dengan home directory
useradd -m -s /bin/ksh -G wheel,oper -c "Arman Dwi" arman
Contoh output
arman

Penjelasan opsi yang umum dipakai:

OpsiFungsi
-mMembuat home directory (/home/arman)
-sMenentukan shell login (contoh /bin/ksh)
-GMenambahkan ke grup tambahan (koma dipisah)
-cKomentar/GECOS: nama lengkap user

Setelah user dibuat, tetapkan password dengan passwd:

Menetapkan password user
passwd arman

Alternatif interaktif adalah adduser yang memandu pembuatan user langkah demi langkah — nyaman untuk pemula:

Pembuatan user interaktif
adduser

Menghapus User: userdel

Untuk menghapus user, gunakan userdel. Opsi -r sekaligus menghapus home directory dan mail spool:

Menghapus user beserta home directory
userdel -r arman

Sebelum menghapus, pastikan tidak ada proses yang berjalan atas nama user tersebut. Gunakan ps -u arman untuk memeriksa.

Mengelola Group: groupadd, groupdel, groupmod

Group dibuat dengan groupadd, diubah dengan groupmod, dan dihapus dengan groupdel. Contoh membuat grup untuk tim developer dan menambahkan anggota:

Membuat group dan menambahkan anggota
groupadd devteam
groupmod -A arman,budi devteam
Cek isi /etc/group
devteam:*:100:arman,budi

Cara lain menambahkan user ke grup adalah dengan usermod -G:

Menambahkan user ke beberapa grup sekaligus
usermod -G wheel,devteam,oper arman

Privileges: Membatasi Kekuasaan Root

Setelah user dan group terbentuk, pertanyaannya: bagaimana memberi akses administratif tanpa membagikan password root? Tiga jawaban umum di NetBSD: su, doas, dan sudo.

wheel: Grup Kunci

NetBSD mengikuti tradisi BSD: hanya anggota grup wheel yang boleh su ke root. Ini lapisan keamanan pertama — bukan semua orang bisa menjadi root hanya dengan tahu passwordnya.

su: Switcher User

su berpindah ke user lain. Dari anggota wheel, su ke root dengan memasukkan password root:

Berpindah ke root dari akun wheel
su - root
Prompt setelah su
Password:
# whoami
root

doas: Sederhana dan Aman

doas adalah tool modern yang ringan — pilihan kalian jika ingin minimalis. Ia tersedia sebagai package pkgsrc:

Install doas dari pkgsrc
cd /usr/pkgsrc/security/doas
make install clean

Konfigurasi doas ditulis di /etc/doas.conf. Berikan akses penuh ke anggota wheel:

Isi /etc/doas.conf
permit keepenv :wheel

Setelah itu, anggota wheel cukup mengetik:

Menjalankan perintah sebagai root dengan doas
doas sysctl kern.ostype

sudo: Fleksibel dan Lengkap

sudo memberi kontrol yang lebih halus — bisa membatasi perintah per user, per host, dan mencatat semua eksekusi. Install dari pkgsrc:

Install sudo dari pkgsrc
cd /usr/pkgsrc/security/sudo
make install clean

Konfigurasi di /usr/pkg/etc/sudoers dengan visudo (jangan diedit langsung):

Mengedit sudoers dengan visudo
visudo
Baris di /etc/... sudoers
%wheel ALL=(ALL:ALL) ALL

Dengan baris itu, semua anggota wheel bisa menjalankan perintah apa pun sebagai root dengan sudo. Untuk membatasi perintah spesifik (misalnya hanya restart service):

Contoh pembatasan perintah di sudoers
arman ALL=(ALL) /usr/sbin/service

Perbandingan Singkat

ToolBasisKelebihanKekurangan
suBawaan base systemSelalu adaButuh password root
doasPackage pkgsrcSederhana, konfigurasi ringanFitur terbatas
sudoPackage pkgsrcKontrol perintah, audit logKonfigurasi lebih kompleks

Praktik Terbaik

AturanAlasan
Jangan login sebagai root langsungSatu kesalahan cukup untuk merusak sistem
Batasi anggota wheelHanya yang benar-benar butuh akses admin
Gunakan doas/sudo dan catat aktivitasAudit dan accountability
Gunakan user terpisah untuk servicePrinsip least privilege

Penutup

Pada episode 5 ini, kalian telah mengatur user dan group NetBSD dengan useradd, userdel, groupadd, dan usermod, memahami struktur /etc/passwd dan /etc/group, serta membatasi akses root dengan su, doas, dan sudo — dengan grup wheel sebagai pintu masuknya.

Inti yang harus dibawa pulang:

  • User didefinisikan di /etc/passwd, group di /etc/group; ubah password lewat passwd, bukan edit file manual.
  • useradd -m -s /bin/ksh -G wheel arman membuat akun lengkap dengan home.
  • Hanya anggota grup wheel yang bisa su ke root.
  • doas untuk solusi ringan (permit keepenv :wheel), sudo untuk kontrol perintah granular.
  • Terapkan least privilege: root hanya untuk hal yang benar-benar butuh root.

Di episode 6 selanjutnya kita akan menghidupkan mesin layanan: system services dan rc system — memahami /etc/rc.conf, script di /etc/rc.d, perintah service, dan bagaimana rcorder menentukan urutan boot. Sampai jumpa di episode 6!

Belajar NetBSD - User, Group & Privileges | Belajar NetBSD