📂 File Permission di Linux (chmod & chown)

Salah satu konsep penting di Linux adalah hak akses file.
Setiap file dan direktori di Linux memiliki aturan siapa yang bisa membaca (read), menulis (write), dan menjalankan (execute).


🔹 Tipe Permission

  1. r (read) → hak membaca isi file / melihat isi direktori
  2. w (write) → hak mengubah isi file / menambah-hapus file di direktori
  3. x (execute) → hak mengeksekusi file / masuk ke direktori

🔹 Struktur Permission

Lihat permission dengan ls -l:

ls -l

Contoh output:

-rwxr-xr--  1 danang developers  1024 Sep  1 10:00 script.sh

Keterangan:

  • - → jenis file (- file biasa, d direktori, l symbolic link)
  • rwx → hak owner
  • r-x → hak group
  • r-- → hak other (world)
  • danang → pemilik (owner)
  • developers → grup pemilik

🔹 Mengubah Permission (chmod)

1. Format Simbolik

chmod u+x script.sh

👉 Tambah execute untuk user (owner).

chmod g-w file.txt

👉 Hapus write dari group.

chmod o+r file.txt

👉 Tambah read untuk other.

2. Format Numerik (Octal)

  • r = 4, w = 2, x = 1
  • Kombinasikan angka untuk masing-masing bagian (user, group, other).

Contoh:

chmod 755 script.sh
  • 7 (4+2+1) → owner = rwx
  • 5 (4+0+1) → group = r-x
  • 5 (4+0+1) → other = r-x
chmod 644 file.txt
  • owner = rw-
  • group = r--
  • other = r--

🔹 Mengubah Kepemilikan (chown & chgrp)

1. Ubah Owner

sudo chown danang file.txt

👉 Pemilik file jadi danang.

2. Ubah Owner & Group sekaligus

sudo chown danang:developers file.txt

3. Ubah Group saja

sudo chgrp developers file.txt

4. Rekursif (semua isi folder)

sudo chown -R danang:developers /var/www/html

🔹 Contoh Praktis

Membuat Script dan Mengatur Hak Akses

echo 'echo Hello Linux' > script.sh
chmod 755 script.sh
./script.sh

👉 Script bisa dijalankan oleh semua user, tapi hanya owner yang bisa mengedit.


🔹 Best Practices

✅ Gunakan chmod 400 untuk file sensitif (misalnya private key).
✅ Gunakan chmod 700 untuk direktori home user.
✅ Untuk web server: biasanya chmod 755 untuk folder, chmod 644 untuk file.
✅ Jangan asal pakai chmod 777, karena memberikan akses penuh ke semua user → berbahaya.
✅ Rekomendasi permission untuk type directory: find /home/<bebas> -type d -exec chmod 755 {} \;.
✅ Rekomendasi permission untuk type file: find /home/<bebas> -type f -exec chmod 644 {} \;.


📌 Kesimpulan

  • Gunakan chmod untuk mengatur permission file/direktori.
  • Gunakan chown dan chgrp untuk mengatur kepemilikan.
  • Memahami permission adalah fondasi keamanan dalam administrasi Linux.

Note: Selalu cek permission dengan ls -l setelah mengubah hak akses, untuk memastikan hasilnya sesuai.