Nafies Luthfi

Life will always feel wonderful if we always think positively.

Cara Membuat Sudoer User pada Ubuntu Server 16.04

Bismillahirrahmanirrahim.

Ketika kita menyewa sebuah VPS, umumnya kita mendapatkan login sebagai super user “root” ke server. Kata orang-orang yang berpengalaman, ini berresiko, karena perintah-perintah yang kita jalankan dengan super user “root” akan dieksekusi tanpa konfirmasi atau ditanya password. Ini lumayan bahaya jika kita “tidak terlalu paham” dengan perintah-perintah yang kita eksekusi (IMHO).

Nah, ketika mulai belajar menggunakan VPS, saya mencari referensi bagaimana cara membuat sebuah user baru di Ubuntu server. Tujuannya agar ketika ingin menjalankan perintah yang berhubungan dengan perubahan di sistem (misal install, hapus atau mengubah sesuatu), harus dilakukan dengan “sudo” dan ditanya password dulu. Sekedar memastikan bahwa saya yakin akan mengeksekusi perintah itu.

Yah, sedikit lebih aman lah..

Oke, kita simpulkan, karena lebih aman, maka setiap deploy VPS baru, kita perlu membuat sebuah user yang memiliki hak akses “root” dengan bantuan “sudo”. Inilah yang disebut sudoer user. Sudoer user adalah user masuk dalam grup super user, memiliki hak akses setara super user “root” dengan “mantra” bernama “sudo”.

sudo = super user do

Membuat User Baru

Di sini saya login dari terminal di laptop, ke VPS Ubuntu Server 16.04 yang baru di-deploy melalui SSH dengan user root.

$ ssh root@ip-address-vps

SSH ke VPS dengan user root

Misal kita membuat sebuah user baru bernama “projectuser”, kita berikan perintah :

adduser projectuser

Isikan New password dan Retype new password, isikan data yang diperlukan. Lebih kurang seperti ini prosesnya :

root@test-vps:~# adduser projectuser
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:

...

perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
Adding user `projectuser` ...
Adding new group `projectuser` (1000) ...
Adding new user `projectuser` (1000) with group `projectuser` ...
Creating home directory `/home/projectuser` ...
Copying files from `/etc/skel` ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for projectuser
Enter the new value, or press ENTER for the default
    Full Name []: Project User
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] y
root@test-vps:~#

Sampai sini kita sudah memiliki user “projectuser”. Baik kita lanjutkan.

Masukkan User ke grup SUDO

Agar dapat menjalankan perintah dengan “sudo”, kita masukkan user projectuser ke dalam grup “sudo”. Berikut perintahnya :

usermod -aG sudo projectuser

Nah salah satu contohnya ini, dengan “root”, ketika kita masukkan sebuah user ke grup sudo, perintah ini langsung dijalankan oleh sistem, tanpa konfirmasi dulu. Bisa dibayangkan kalau kita eksekusi sebuah perintah yang berbahaya (tanpa kita tahu resikonya)? Hmmm…

Uji coba perintah SUDO

Oke sekarang kita coba login sebagai projectuser.

su - projectuser

Maka kita akan ter-login sebagai “projectuser”. Sekarang kita coba sebuah perintah yang memerlukan hak akses root dengan “sudo”.

$ sudo ls -la /root

Akan tampil seperti ini.

Sudoer user action

Sip, jika isi direktori /root muncul, berarti user ini sudah menjadi seorang “sudoer user”.

Uji coba SSH dengan User Baru

Apakah kita bisa login dengan user ini langsung melalui SSH? Bisa dong..
Kita coba SSH dari PC/Laptop local kita.

$ ssh projectuser@ip-address-vps

SSH dengan user baru

Berhasil. Oke dengan demikian, kita sudah punya sebuah user “projectuser” yang akan digunakan untuk bekerja di VPS kita, tanpa harus menggunakan user “root”.

Kesimpulan

Jadi mengapa disarankan menggunakan non-root user dalam bekerja di sebuah VPS?
Berikut beberapa hal yang dapat saya simpulkan :

  1. User “root” mengeksekusi perintah tanpa konfirmasi password terlebih dahulu, sehingga agak berresiko jika digunakan dalam bekerja di sebuah server.
  2. Dengan adanya sudoer user dan bisa SSH dengan user tersebut, maka kita dapat disable “root” login.
  3. Semua GNU/Linux server memiliki user “root” dengan hak akses super user. “Orang-orang usil” dapat mencoba akses via SSH ke server kita dengan user “root” secara brutal. Istilah kerennya Brute Force SSH attack. Ini dapat dihindari dengan men-disable “root” login seperti pada point 2 di atas.

Baik, demikian pembahasan kita tentang cara membuat sudoer user, agar kita tidak perlu menggunakan super user “root” dalam bekerja dengan VPS Ubuntu 16.04. Hanya sedikit share dari pengetahuan saya yang minim seputar pengelolaan server. :D

Terima kasih teman-teman sudah berkenan membaca.