Lewati ke konten

5. User & Permission

Linux adalah sistem multi-user: banyak user dan layanan berbagi satu mesin. Permission memastikan setiap orang hanya bisa menyentuh apa yang menjadi haknya. Ini juga lapisan keamanan pertama server kamu.

Terminal window
whoami # nama user
id # user, grup, dan keanggotaan grup

User paling berkuasa adalah root — ia boleh melakukan apa saja, termasuk menghancurkan sistem. Karena itu kita bekerja sebagai user biasa dan hanya “meminjam” kekuatan root saat perlu.

Terminal window
ls -l
# -rwxr-xr-- 1 belajar belajar 120 Oct 19 09:00 deploy.sh

Sepuluh karakter pertama itu dibaca seperti ini:

- rwx r-x r--
│ │ │ └── orang lain (others)
│ │ └──────── grup pemilik (group)
│ └────────────── pemilik file (user)
└─────────────────── jenis: - file, d folder
Huruf Pada file Pada folder
r read boleh membaca isi boleh melihat daftar isi
w write boleh mengubah isi boleh membuat/menghapus file di dalamnya
x execute boleh dijalankan sebagai program boleh masuk (cd) ke folder

Cara simbolik — mudah dibaca:

Terminal window
chmod +x deploy.sh # tambah izin eksekusi
chmod u+x,o-r file # user tambah x, others hapus r

Cara angka — singkat dan sering muncul di tutorial. Setiap huruf punya nilai: r=4, w=2, x=1, lalu dijumlahkan per kelompok:

Angka Arti Contoh pemakaian
755 rwxr-xr-x skrip & folder yang boleh dibaca semua orang
644 rw-r--r-- file biasa, konfigurasi umum
600 rw------- file rahasia: private key SSH, file .env
Terminal window
chmod 600 ~/.ssh/id_ed25519

File skrip harus punya izin x sebelum bisa dijalankan dengan ./nama-skrip.sh. Kalau belum, kamu akan melihat Permission denied.

Terminal window
cat /etc/shadow # ditolak: hanya root yang boleh membaca
sudo cat /etc/shadow # berhasil: dijalankan sebagai root

Hidupkan skrip yang belum bisa dijalankan, kunci file rahasia, lalu rasakan bedanya dengan dan tanpa sudo.

Lab: Permission & sudo
Misi 0/6
  1. Lihat permission isi folder skrip dengan ls -l.
    Petunjukls -l skrip
  2. Coba jalankan ./skrip/halo.sh — perhatikan error-nya.
    PetunjukKetik ./skrip/halo.sh. Error "Permission denied" itu memang yang diharapkan.
  3. Beri izin eksekusi dengan chmod +x.
    Petunjukchmod +x skrip/halo.sh
  4. Jalankan lagi skripnya — sekarang harus berhasil.
    Petunjuk./skrip/halo.sh
  5. Kunci data-pribadi.txt agar hanya kamu yang bisa baca & tulis (600).
    Petunjukchmod 600 data-pribadi.txt
  6. Coba baca /etc/shadow tanpa sudo, lalu dengan sudo.
    Petunjukcat /etc/shadow (ditolak) → sudo cat /etc/shadow (berhasil)