User Deploy Non-Root
Membuat user deploy dan memberinya akses sudo.
Membuat user deploy
Setelah login pertama sebagai root, langkah penting berikutnya adalah membuat user non-root yang akan kita gunakan untuk pekerjaan deployment sehari-hari.
Dalam course ini, kita memakai nama user deploy. Nama ini bukan aturan wajib, tetapi cukup jelas karena perannya memang untuk membantu proses deploy aplikasi LMS.
Kenapa tidak langsung pakai root saja?
Secara teknis, root memang bisa melakukan semuanya. Tetapi justru karena itulah root terlalu berbahaya untuk dipakai kerja harian. Jika kita salah mengetik command saat memakai root, dampaknya bisa besar sekali: file sistem bisa terhapus, konfigurasi bisa rusak, atau service penting bisa terganggu.
Karena itu, pola yang lebih aman adalah:
- root dipakai untuk setup awal dan kondisi administratif tertentu,
- deploy dipakai untuk pekerjaan sehari-hari seperti upload source code, install dependency, build project, menjalankan aplikasi, dan maintenance ringan.
Apa itu user deploy?
User deploy adalah user Linux biasa yang kita buat secara khusus untuk mengelola project aplikasi di server. User ini bukan superuser penuh seperti root, tetapi bisa diberi hak sudo agar tetap bisa menjalankan command administratif saat diperlukan.
Dengan begitu, kita mendapatkan keseimbangan yang baik antara keamanan dan fleksibilitas kerja.
Command untuk membuat user deploy
Jalankan command berikut saat masih login sebagai root:
adduser deploySetelah command itu dijalankan, Ubuntu biasanya akan meminta beberapa input:
- password untuk user
deploy, - konfirmasi password,
- dan kadang informasi tambahan seperti full name, room number, work phone, dan sebagainya.
Untuk field tambahan itu, Anda bisa langsung tekan Enter saja jika tidak ingin mengisinya.
Contoh proses pembuatan user
root@your-server:~# adduser deploy
Adding user `deploy' ...
Adding new group `deploy' (1001) ...
Adding new user `deploy' (1001) with group `deploy' ...
Creating home directory `/home/deploy' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for deploy
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] YKalau proses ini selesai dengan normal, berarti user deploy sudah berhasil dibuat.
Memberi hak sudo ke user deploy
Setelah user dibuat, tambahkan user tersebut ke group sudo:
usermod -aG sudo deployAtau versi yang juga umum dipakai:
adduser deploy sudoKedua pendekatan ini tujuannya sama: membuat user deploy bisa menjalankan command dengan sudo.
Kenapa hak sudo itu penting?
Karena nanti saat deploy LMS, ada beberapa command yang tetap membutuhkan hak administratif, misalnya:
- install package dengan
apt install, - reload Nginx,
- mengubah permission folder tertentu,
- atau mengelola service.
Kalau user deploy tidak punya hak sudo, kita akan bolak-balik login sebagai root, dan itu justru kurang praktis serta kurang aman.
Contoh penggunaan sudo setelah login sebagai deploy
Misalnya nanti Anda login sebagai deploy, lalu ingin update package:
sudo apt updateSistem akan meminta password user deploy, bukan password root. Ini penting untuk dipahami.
Langkah setelah user deploy selesai dibuat: logout dari root lalu login ke deploy
Begitu user deploy sudah dibuat dan sudah masuk group sudo, langkah berikutnya yang sangat disarankan adalah berhenti bekerja sebagai root, lalu mulai masuk memakai user deploy.
Ini penting karena setelah lesson ini, workflow tutorial selanjutnya sebaiknya memakai user deploy, bukan root.
Cara logout dari root
Kalau Anda masih berada di terminal root, ketik:
exitSetelah itu sesi terminal root akan tertutup atau kembali ke prompt sebelumnya. Kalau Anda sedang memakai PuTTY, biasanya session akan selesai dan jendela terminal bisa ditutup.
Login ulang ke server memakai user deploy
Setelah logout dari root, buka lagi session PuTTY Anda, lalu login memakai user deploy.
Contoh alurnya:
- Buka PuTTY
- Pilih session server VPS Anda
- Klik Open
- Pada prompt login, isi username:
deploy - Masukkan password user
deployyang tadi dibuat
Contoh login sebagai deploy
login as: deploy
deploy@123.123.123.123's password:Kalau login berhasil, Anda biasanya akan melihat prompt seperti ini:
deploy@your-server:~$Perhatikan bedanya:
rootbiasanya berakhir dengan tanda#deploybiasanya berakhir dengan tanda$
Ini membantu kita cepat sadar sedang berada di user mana.
Verifikasi bahwa Anda sudah benar-benar masuk sebagai deploy
Setelah berhasil login, jalankan command berikut:
whoamiHasilnya harus:
deployLalu cek juga apakah sudo berjalan normal:
sudo apt updateJika command ini berjalan dan sistem meminta password user deploy, berarti user ini sudah siap dipakai untuk tutorial berikutnya.
Kenapa mulai sekarang sebaiknya pakai deploy?
Karena mulai setelah tahap ini, pekerjaan kita akan lebih banyak berupa aktivitas harian deployment, misalnya:
- masuk ke folder project LMS,
- clone repository atau upload source code,
- menjalankan
npm install, - menjalankan
npm run build, - mengelola file project,
- dan menjalankan command dengan
sudohanya saat perlu.
Semua ini jauh lebih aman jika dilakukan sebagai deploy.
root, lalu biasakan login kembali memakai deploy. Tutorial-tutorial berikutnya sebaiknya dijalankan dari user deploy, kecuali jika ada instruksi khusus yang memang perlu root.Checklist setelah user deploy dibuat
Setelah selesai membuat user, lakukan pengecekan cepat berikut:
- Cek apakah user deploy sudah ada
id deploy - Cek apakah deploy masuk group sudo
groups deployHasilnya seharusnya memuat
sudo. - Pastikan home directory user tersedia
ls -la /homeHarus ada folder
/home/deploy. - Logout dari root
exit - Login kembali sebagai deploy
Masuk lagi ke server memakai usernamedeploy. - Verifikasi user aktif
whoamiHasilnya harus
deploy.
Contoh hasil pengecekan group
root@your-server:~# groups deploy
deploy : deploy sudoKalau sudo muncul di hasil ini, berarti user deploy sudah punya hak sudo.
Password user deploy juga harus disimpan baik-baik
Sama seperti password root, password user deploy juga harus disimpan aman. Jangan sampai nanti root sudah dinonaktifkan untuk login SSH, tetapi password deploy malah lupa. Itu bisa membuat akses ke server jadi ribet.
deploy dengan aman. Dalam workflow server yang sehat, user inilah yang justru akan lebih sering dipakai daripada root.Apakah nama user harus deploy?
Tidak harus. Anda bisa memakai nama lain seperti ubuntu, admin, lms, atau nama tim Anda. Tetapi untuk course ini, memakai nama deploy memudahkan kita menjaga konsistensi tutorial dan command berikutnya.
Contoh pola kerja setelah lesson ini
Setelah user deploy tersedia, pola kerja kita nanti menjadi lebih rapi:
- Login awal dan setup inti: pakai
root - Kerja harian deployment: pakai
deploy - Kalau butuh hak administratif: gunakan
sudodari userdeploy
Command utama lesson ini
adduser deploy
usermod -aG sudo deploy
exitKesimpulan lesson ini
Membuat user deploy adalah langkah penting untuk membangun VPS yang lebih aman dan lebih profesional. Kita tidak ingin semua pekerjaan dilakukan langsung memakai root. Dengan user deploy, workflow deployment LMS menjadi lebih terstruktur, lebih aman, dan lebih siap untuk production.
Mulai setelah lesson ini, biasakan lanjut bekerja memakai deploy. Jadi tutorial-tutorial berikutnya dijalankan dari user deploy, kecuali jika ada instruksi khusus yang memang membutuhkan akses root.