Fondasi · Fase 1
User Management di Linux: useradd, passwd, sudoers, dan /etc/shadow
Siapa boleh apa di server Linux? Pelajari jenis akun, cara membuat dan mengunci akun dengan useradd dan passwd, beda /etc/passwd dan /etc/shadow, cara membaca hash password, serta memberi hak admin dengan aman lewat sudo dan sudoers.

Bayangkan sebuah kantor. Setiap karyawan punya kartu akses sendiri, tapi tidak semua kartu bisa membuka semua pintu. Resepsionis tidak bisa masuk ruang server, dan staf keuangan tidak bisa masuk gudang. Kalau semua orang memakai satu kartu yang sama dan bisa membuka semua pintu, satu kartu yang hilang berarti seluruh kantor terancam.
Linux bekerja dengan cara serupa. Setiap orang dan setiap layanan punya akun pengguna sendiri, dengan hak akses yang berbeda-beda. Mengatur akun-akun ini disebut user management, dan ini salah satu fondasi terpenting dalam mengamankan server. Di artikel ini kamu akan belajar membuat akun, mengatur password, memberi hak admin dengan aman, dan memahami di mana Linux menyimpan password.
Tiga jenis akun di Linux
Tidak semua akun di Linux dipakai manusia. Kalau kamu membuka file /etc/passwd, kamu akan melihat puluhan akun, padahal yang login mungkin hanya kamu.
| Jenis akun | Contoh | UID | Fungsinya |
|---|---|---|---|
| Root | root | 0 | Admin dengan kuasa penuh atas seluruh sistem |
| Akun sistem / layanan | www-data, mysql, sshd | Biasanya di bawah 1000 | Menjalankan program tertentu, tidak dipakai untuk login |
| Akun pengguna biasa | budi, sari | Biasanya mulai 1000 | Dipakai manusia untuk bekerja sehari-hari |
Kenapa layanan seperti web server punya akun sendiri? Supaya kalau web server dibobol, penyerang hanya mendapat hak akun www-data yang terbatas, bukan hak root. Inilah prinsip least privilege yang sudah kamu kenal di artikel sebelumnya.
Membuat dan mengelola akun: useradd dan kawan-kawan
sudo useradd -m -s /bin/bash budi # buat akun budi, beserta folder rumah dan shell bash
sudo passwd budi # atur password untuk budi
id budi # lihat UID, GID, dan grup budi
sudo usermod -aG sudo budi # masukkan budi ke grup sudo (Ubuntu/Debian)
sudo passwd -l budi # kunci akun budi
sudo passwd -u budi # buka kembali kunci akun budi
sudo userdel -r budi # hapus akun budi beserta folder rumahnya
Beberapa hal yang perlu diperhatikan:
- Opsi
-mmembuat folder/home/budi. Tanpa opsi ini, akun terbuat tapi tidak punya folder rumah. - Di Ubuntu dan Debian ada juga perintah
adduseryang lebih ramah. Perintah ini menanyakan password dan data lain secara interaktif. - Pada
usermod, jangan lupa hurufadi-aG. Tanpaa(append), grup lama pengguna akan diganti, bukan ditambah. - Di keluarga Red Hat seperti Fedora, Rocky, dan AlmaLinux, grup admin biasanya bernama
wheel, bukansudo.
Di mana Linux menyimpan password?
Informasi akun disimpan di dua file teks. Pemisahan ini disengaja demi keamanan.

Dulu, hash password disimpan langsung di /etc/passwd. Karena file itu harus bisa dibaca semua pengguna, siapa pun bisa menyalin hash password orang lain lalu mencoba menebaknya. Solusinya, hash dipindahkan ke /etc/shadow yang hanya bisa dibaca root. Di /etc/passwd, kolom password cukup diisi huruf x.
Coba lihat satu baris /etc/passwd:
budi:x:1001:1001:Budi Santoso:/home/budi:/bin/bash
Artinya: nama pengguna budi, password disimpan di shadow (x), UID 1001, GID 1001, nama lengkap Budi Santoso, folder rumah /home/budi, dan shell /bin/bash. Akun layanan biasanya memakai shell /usr/sbin/nologin, artinya akun itu tidak bisa dipakai untuk login.
Membaca /etc/shadow
Sekarang lihat isi /etc/shadow dengan sudo cat /etc/shadow. Setiap barisnya terlihat rumit, tapi polanya sederhana.

Bagian paling penting adalah kolom kedua, yaitu hash password. Hash adalah hasil pengolahan password dengan rumus satu arah. Dari password mudah dihitung hash-nya, tetapi dari hash sangat sulit dikembalikan ke password. Awalan hash menunjukkan algoritma yang dipakai:
| Awalan | Algoritma | Keterangan |
|---|---|---|
$y$ | yescrypt | Bawaan di Ubuntu dan Debian versi baru. Sengaja dibuat lambat agar sulit ditebak massal. |
$6$ | SHA-512 | Masih banyak dipakai, termasuk di keluarga Red Hat. |
$1$ | MD5 | Sudah usang. Kalau masih ada, password itu perlu segera diganti. |
! atau * | Tidak ada hash yang berlaku | Akun terkunci atau memang tidak bisa login dengan password. |
Kolom-kolom sesudahnya mengatur umur password: kapan terakhir diganti, berapa hari sekali wajib diganti, dan kapan peringatan muncul. Kamu bisa melihatnya dalam bentuk yang lebih mudah dibaca dengan sudo chage -l budi.
Hak admin dengan aman: sudo dan sudoers
Login langsung sebagai root itu berbahaya. Satu salah ketik bisa merusak sistem, dan tidak tercatat siapa yang melakukannya kalau beberapa orang memakai akun root yang sama. Cara yang lebih aman adalah login sebagai pengguna biasa, lalu memakai sudo hanya saat butuh hak admin.
Siapa yang boleh memakai sudo dan untuk perintah apa diatur di file /etc/sudoers dan folder /etc/sudoers.d/.

sudo -l # lihat perintah apa saja yang boleh kamu jalankan dengan sudo
sudo visudo # ubah aturan sudoers dengan aman
Ada dua kebiasaan penting. Pertama, selalu pakai visudo, karena perintah ini memeriksa kesalahan penulisan sebelum menyimpan. Kedua, berikan hak seperlunya. Kalau seseorang hanya perlu me-restart web server, beri izin untuk perintah itu saja, bukan semua perintah.
Daftar periksa keamanan akun
| Pemeriksaan | Perintah | Kondisi yang aman |
|---|---|---|
| Akun dengan UID 0 selain root | awk -F: '$3==0' /etc/passwd | Hanya root yang muncul |
| Akun tanpa password | sudo awk -F: '$2==""' /etc/shadow | Tidak ada hasil |
| Anggota grup admin | getent group sudo | Hanya orang yang memang perlu |
| Hak sudo milikmu | sudo -l | Seperlunya, tanpa NOPASSWD yang tidak perlu |
| Izin file shadow | ls -l /etc/shadow | Tidak bisa dibaca pengguna biasa |
| Riwayat login | last dan lastlog | Tidak ada login dari akun atau waktu yang janggal |
Kenapa ini penting untuk keamanan siber
Banyak serangan ke server dimulai dari akun, bukan dari celah software yang rumit. Contohnya akun bekas karyawan yang lupa dinonaktifkan, password lemah yang tertebak, atau aturan sudo yang terlalu longgar. Setelah masuk, penyerang biasanya mencoba menaikkan hak akses (privilege escalation) dari pengguna biasa menjadi root, dan sudoers yang salah atur adalah salah satu jalan pintasnya. Bagi tim keamanan, memeriksa akun dan hak akses adalah langkah wajib dalam setiap audit dan penanganan insiden.
Ringkasan
- Linux punya tiga jenis akun: root (UID 0), akun layanan, dan akun pengguna biasa.
useradd,passwd,usermod, danuserdeldipakai untuk membuat, mengatur password, mengubah, dan menghapus akun./etc/passwdberisi data akun dan boleh dibaca semua pengguna./etc/shadowberisi hash password dan hanya bisa dibaca root.- Pakai
sudodaripada login sebagai root, ubah aturannya lewatvisudo, dan berikan hak seperlunya. - Kunci akun yang tidak dipakai, hindari NOPASSWD yang tidak perlu, dan periksa akun secara berkala.
Tonton dan baca juga
- Video: Manajemen user
- Artikel: Manajemen user di Linux
- Artikel: Mengenal /etc/shadow (bahasa Inggris)
Materi berikutnya membahas package manager: cara memasang, memperbarui, dan menghapus software di Linux dengan apt dan yum, serta kenapa rajin update itu penting untuk keamanan. Buka di roadmap untuk melanjutkan.