Selamat datang, Kawan Belajar. Salah satu praktik dasar yang penting dalam mengelola server Linux adalah tidak menggunakan akun root untuk aktivitas sehari-hari. Sebagai gantinya, kamu membuat user biasa yang hanya menggunakan hak akses administratif saat diperlukan melalui sudo. Cara ini lebih aman, lebih terkontrol, dan menjadi bagian penting dari praktik hardening server yang baik.
Di artikel ini, kamu akan mempelajari cara membuat user non-root dengan akses sudo. Langkah ini juga menjadi persiapan utama sebelum kamu menonaktifkan login root via SSH di server.
Panduan ini mencakup semua distro Linux umum yang tersedia di CloudKilat:
| Distro | Versi yang Dicakup |
|---|---|
| AlmaLinux | 8, 9, 10 |
| CentOS Stream | 9, 10 |
| Debian | 12, 13 |
| openSUSE Leap | 15.6, 16.0 |
| Rocky Linux | 8, 9, 10 |
| Ubuntu | 22.04, 24.04, 26.04 |
Setiap panduan berdiri sendiri, jadi kamu tidak perlu mengikuti semua cara yang tersedia di artikel ini. Cukup pilih cara yang sesuai dengan distro Linux yang kamu gunakan.
Seluruh perintah di artikel ini membutuhkan hak akses administratif. Pastikan kamu sudah login sebagai
root atau menggunakan user yang sudah memiliki akses sudo. Jangan lupa ganti namauser di setiap contoh perintah dengan nama user yang ingin kamu buat.
Cara 1: Debian dan Ubuntu
Buat User Baru
Di Debian dan Ubuntu, pembuatan user baru paling mudah dilakukan menggunakan adduser dikarenakan perintah ini bersifat interaktif dan akan memandu prosesnya langkah demi langkah.
adduser namauser
Masukkan kata sandi saat diminta, lalu tekan Enter untuk melewati kolom informasi tambahan yang tidak wajib diisi.
Tambahkan User ke Group sudo
Agar user tersebut bisa menjalankan perintah administratif menggunakan sudo, tambahkan ke group sudo dengan perintah berikut:
usermod -aG sudo namauser
Di Debian dan Ubuntu, group sudo secara default sudah memiliki hak untuk menjalankan perintah sebagai root.
Verifikasi
Buka sesi SSH baru menggunakan user yang baru dibuat, lalu jalankan:
sudo whoami
Masukkan kata sandi user tersebut saat diminta. Jika output menampilkan root, berarti akses sudo sudah berhasil dikonfigurasi.
Untuk memastikan user sudah masuk ke group yang benar, jalankan
groups namauser. Output harus menyertakan group sudo.
Cara 2: AlmaLinux, CentOS Stream, dan Rocky Linux
Buat User Baru
Di distro berbasis RHEL, perintah useradd tidak interaktif, sehingga kata sandi harus diatur secara terpisah.
useradd namauser
passwd namauser
Masukkan dan konfirmasi kata sandi saat diminta.
Tambahkan ke Group Wheel
Di ekosistem RHEL, group yang memiliki hak sudo bernama wheel, bukan sudo.
usermod -aG wheel namauser
Verifikasi
Buka sesi SSH baru sebagai user yang baru dibuat, lalu jalankan:
sudo whoami
Jika outputnya root, konfigurasi berhasil. Kamu juga bisa mengecek keanggotaan group dengan:
groups namauser
Output harus menyertakan wheel.
Cara 3: openSUSE Leap
Buat User Baru
Pada openSUSE Leap, pembuatan user dilakukan menggunakan useradd, lalu kata sandi diatur secara terpisah.
useradd -m namauser
passwd namauser
Tambahkan ke Group Wheel
usermod -aG wheel namauser
Aktifkan Hak Sudo untuk Group Wheel (jika diperlukan)
Pada banyak instalasi normal openSUSE, group wheel biasanya sudah memiliki hak sudo secara default. Namun pada beberapa image minimal, pengaturan ini mungkin belum aktif.
Untuk mengeceknya, buka file sudoers menggunakan visudo:
visudo
Cari baris berikut:
# %wheel ALL=(ALL:ALL) ALL
Kalau masih diawali tanda #, hapus tanda tersebut hingga menjadi:
%wheel ALL=(ALL:ALL) ALL
Simpan perubahan lalu keluar dari editor yang digunakan oleh visudo.
- Jika editor yang terbuka adalah nano, tekan
Ctrl+X, laluY, kemudianEnter. - Jika editor yang terbuka adalah vi/vim, tekan
Esc, ketik:wq, lalu tekanEnter.
Verifikasi
Buka sesi SSH baru menggunakan user yang baru dibuat, lalu jalankan:
sudo whoami
Jika output menampilkan root, berarti akses sudo sudah aktif dan berfungsi dengan benar.
Troubleshooting
sudo gagal meski user sudah ditambahkan ke group
Kasus ini biasanya terjadi dikarenakan perubahan keanggotaan group belum berlaku di sesi SSH yang sedang aktif. Logout sepenuhnya dari server, lalu login ulang menggunakan user tersebut sebelum mencoba sudo kembali.
Untuk memastikan user sudah masuk ke group yang benar, jalankan:
groups namauser
Output harus menyertakan:
sudountuk Debian dan Ubuntuwheeluntuk AlmaLinux, CentOS Stream, Rocky Linux, dan openSUSE
Kalau group sudah muncul tapi sudo masih gagal, login ulang biasanya langsung menyelesaikan masalah.
sudo belum tersedia di image minimal
Beberapa instalasi minimal Linux memang tidak menyertakan package sudo secara default. Install terlebih dahulu dari sesi root yang masih aktif:
apt install sudo # Debian dan Ubuntu
dnf install sudo # AlmaLinux, CentOS Stream, Rocky Linux
zypper install sudo # openSUSE Leap
Setelah proses instalasi selesai, lanjutkan kembali ke langkah penambahan user ke group sudo atau wheel sesuai distro yang digunakan.
openSUSE: user sudah di group wheel tapi sudo tetap ditolak
Pada beberapa image openSUSE minimal, hak sudo untuk group wheel belum aktif secara default.
Buka kembali file sudoers menggunakan:
visudo
Lalu pastikan baris berikut tidak diawali tanda #:
%wheel ALL=(ALL:ALL) ALL
Simpan perubahan, keluar dari editor, lalu coba jalankan sudo kembali menggunakan user tersebut.
Kesimpulan
Membuat user non-root dengan akses sudo adalah langkah pertama yang sangat konkret dalam mempraktikkan keamanan dasar VPS. Prosesnya berbeda sedikit antar distro, terutama di nama perintah pembuatan user dan nama group sudo-nya, tapi prinsipnya sama di mana-mana: buat user, tambahkan ke group yang tepat, lalu verifikasi.
Setelah langkah ini selesai, Kawan Belajar bisa langsung melanjutkan ke tahap berikutnya: menonaktifkan login root via SSH agar tidak ada akses langsung ke akun paling powerful di server dari luar. Dua langkah ini bersama-sama membentuk fondasi hardening yang solid untuk server Linux mana pun.