Lesson Detail

Membuat user deploy

Membuat user non-root khusus untuk deployment agar server lebih aman, lebih rapi, tidak selalu dikelola langsung menggunakan root, lalu beralih dari root ke user deploy untuk tutorial berikutnya.

17 minLesson Duration
1Materials
OpenStatus
This Lesson Progress0%
0/1 materials completed

Lesson Materials

This page now supports live lesson progress, per-material completion, and automatic current-lesson movement.

Live Lesson Progress

This lesson now tracks progress per material and updates the current lesson automatically.

Course Lesson Progress0%0 of 43 lessons completed
Course Material Progress0%0 of 43 materials completed
This Lesson0%0 of 1 materials completed
Material 1

User Deploy Non-Root

Open
HTML

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 deploy

Setelah 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] Y

Kalau 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 deploy

Atau versi yang juga umum dipakai:

adduser deploy sudo

Kedua 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 update

Sistem 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:

exit

Setelah 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:

  1. Buka PuTTY
  2. Pilih session server VPS Anda
  3. Klik Open
  4. Pada prompt login, isi username: deploy
  5. Masukkan password user deploy yang 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:

  • root biasanya berakhir dengan tanda #
  • deploy biasanya 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:

whoami

Hasilnya harus:

deploy

Lalu cek juga apakah sudo berjalan normal:

sudo apt update

Jika 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 sudo hanya saat perlu.

Semua ini jauh lebih aman jika dilakukan sebagai deploy.

Praktik yang dipakai mulai setelah lesson ini: logout dari 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:

  1. Cek apakah user deploy sudah ada
    id deploy
  2. Cek apakah deploy masuk group sudo
    groups deploy

    Hasilnya seharusnya memuat sudo.

  3. Pastikan home directory user tersedia
    ls -la /home

    Harus ada folder /home/deploy.

  4. Logout dari root
    exit
  5. Login kembali sebagai deploy
    Masuk lagi ke server memakai username deploy.
  6. Verifikasi user aktif
    whoami

    Hasilnya harus deploy.

Contoh hasil pengecekan group

root@your-server:~# groups deploy
deploy : deploy sudo

Kalau 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.

Catatan penting: simpan credential 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 sudo dari user deploy

Command utama lesson ini

adduser deploy
usermod -aG sudo deploy
exit

Kesimpulan 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.