Skip to content

zaidan's blog

a newbie, writing IT-related stuff and some personal experiences

Menu
  • IT
  • Personal life/opinion
  • Linux
  • Sepeda
  • Proxmox
  • VM/Container
  • Kuliah/Catatan Kuliah
Menu

File Permission di Linux

Posted on 30/09/202502/10/2025 by Zaidan

Hai semuanya, apa kabar? Kali ini kita akan bahas tentang Linux lagi, yaitu mengenai file permission. Salah satu fondasi keamanan di Linux adalah hak akses file atau file permission. Tiap file atau direktori memiliki aturan siapa saja yang bisa read-write-execute. Apabila penggunaan file permission tidak sesuai, sistem Linux jadi lebih rentan/berisiko terhadap akses yang tidak diinginkan.

Jenis Permission

Permission atau izin terbagi menjadi tiga:

  • r – read : membaca isi file, atau melihat daftar/isi dari direktori.
  • w – write : mengubah isi file, membuat, mengubah file di dalam direktori. Perlu diingat bahwa permission w ini, artinya user dapat menghapus file di dalam direktori walaupun file tersebut bukan mililk si user.
  • x – execute : mengeksekusi/menjalanakan program atau masuk ke dalam direktori. Tanpa permission x meskipun kita bisa melihat isi direktori, kita tidak bisa masuk ke dalam direktori tersebut.

Selain digambarkan dengan huruf (r/w/x), permission juga dapat dilambangkan dengan angka (sistem bilangan oktal).

  • r: 4
  • w: 2
  • x: 1

Contoh penggunaan:

chmod 644 file

  • User memiliki permission 6: rw- : bisa read&write.
  • Group memiliki permission 4: r– : hanya bisa read.
  • Other memiliki permission 4: r– : hanya bisa read.

Subyek Permission

Di Linux, tiap file atau direktori tidak hanya memiliki jenis izin yang berbeda (r, w, x),namun juga melekat ke subyek tertentu:

  • User (u). Merujuk ke pemilik file/direktori. Biasanya pemilik file/direktori adalah user yang membuat file/direktori tersebut. Misalnya user phantom membuat file script.sh, maka secara default file tersebut dimiliki olleh phantom.
  • Group (g). Merujuk ke grup pemilik dari file/direktori. Semua anggota group akan mendapatkan hak akses sesuai dengan permission yang diberikan. Misalnya sebuah group developers adalah group pemilik dari file script.sh, maka semua user yang tergabung ke dalam developers memiliki izin yang sama sesuai dengan group rule-nya.
  • Other (o). Merujuk ke semua user lain dalam sistem yang bukan merupakan pemilik dari file/direktori maupun anggota group pemilik dari file/direktori tersebut.

Misalnya kita punya file dengan nama dokumen.txt dengan hak akses berikut:

# ls -l dokumen.txt
-rw-r----- 1 ignite developers 1024 Sep 12 10:00 dokumen.txt

Artinya:

  • User – ignite memiliki hak akses rw- yang artinya bisa membaca dan mengubah isi file.
  • Group – developers memiliki hak akses r-- yang artinya bisa membaca file namun tidak bisa mengubah/edit file.
  • Other memiliki hak akses --- yang artinya tidak bisa melakukan apa pun.

Saat kita ingin mengatur permission, ada beberapa hal yang perlu diingat. Siapa pemilik dari file/direktori, grup apa yang terasosiasikan dengan file/direktori tersebut, dan juga apakah akun lain (other) perlu akses juga atau tidak.

Kita kembali lagi ke kutipan di atas (yang hasil dari perintah ls -l). Kita coba lihat satu-per-satu output-nya.

  • -rw-r-----
    • Karakter pertama (-) menyatakan bahwa itu adalah file biasa. Direktori dinyatakan dengan d, symbolic link dinyatakan dengan l.
    • 9 karakter berikutnya dibagi menjadi tiga bagian (masing-masing tiga karakter).
      • rw-: user permission.
      • r--: group permission.
      • ---: other permission.
  • 1: jumlah hard link ke file.
  • ignite: user pemilik file.
  • developers: group pemilik file.
  • 1024: ukuran file (byte).
  • Sep 12 10:00: waktu terakhir file diubah (timestamp).
  • dokumen.txt: nama file.

Ubah Permission

Perintah yang digunakan untuk melakukan hal ini adalah chmod (change mode). Ada dua cara yang umum dipakai, yaitu format simbolik dan format angka/oktal.

Format Simbolik

Menggunakan kombinasi subyek (u, g, o, a (all)), operator (+, -, =), dan jenis permission (r, w, x).
Kombinasi subyek sudah dijelaskan pada poin sebelumnya. Dan berikut deskripsi singkat untuk operator:

  • + : menambahkan permission.
  • -: menghapus permission.
  • =: menetapkan permission tertentu.

Kita coba. Untuk memberikan execute permission ke user, kita dapat menggunakan perintah:

chmod u+x script.sh

Untuk menghapus write permission dari group:

chmod g-w dokumen.txt

Menetapkan read permission untuk semua:

chmod a=r dokumen.txt

Format Oktal

Hitungan angka didapatkan dari kombinasi r=4, w=2, x=1. Formatnya adalah [user][group][other].
Misalnya kita ingin memberikan full permission kepada user, dan read only permission untuk group & other:

chmod 744 dokumen.txt

Untuk memberikan read & write permission untuk user & group, dan no permission untuk other:

chmod 660 dokumen.txt

Untuk memberikan full permission ke semua (hati-hati, semua orang dapat menjalankan dan memodifikasi file):

chmod 777 dokumen.txt

Mengubah Ownership dan Group

Pada setiap file/direktori memiliki dua identitas utama, yaitu user dan group. Kadang, kita perlu mengubah siapa pemilik file. Contohnya adalah saat melakukan SSL renewal pada Zimbra Mail Server, file SSL-nya harus diubah ownership-nya menjadi zimbra.

Untuk mengubah ownership dapat menggunakan perintah chown (change owner) dan untuk mengubah group dapat menggunakan perintah chgrp (change group).

chown

Sintaks dasar:

chown [user] [file]

Untuk mengubah ownership dari file laporan.txt menjadi user ignite:

chown ignite laporan.txt

Ubah user & group sekaligus:

chown ignite:developers laporan.txt

Ubah ownership dari direktori beserta isinya (rekursif). Jadi, semua isi file yang ada di dalam direktori berubah ownership & group-nya.

sudo chown -R ignite:developers /project

chgrp

Sintaks dasar:

chgrp [group] [file]

Misalnya kita ingin mengubah group dari file laporan.tzt menjadi developers tanpa mengubah ownership-nya:

chgrp developers laporan.txt

Setelah melakukan perubahan ownership/group, kita bisa gunakan perintah ls -l untuk memeriksa hasil perubahan. Hal lain yang perlu diingat adalah hanya root atau user yang menggunakan sudo yang dapat melakukan perubahan ownership.

Penutup

Mengelola permission merupakan salah satu keterampilan dasar yang perlu dikuasai SysAdmin. Walaupun terkesan “dasar”, namun hal ini sangat krusial di sistem Linux.

Dengan memahami cara membaca nilai permission, mengubah/mengatur permission/ownership, kita dapat menjaga sistem Linux tetap aman dengan memastikan tiap file/direktori hanya dapat diakses oleh pihak atau user yang tepat.

Untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tulisan saya yang lain:

  • Instalasi Web Server Apache pada Container Ubuntu Server (Proxmox VE)
  • Upgrade Zorin 16 ke Zorin 17
  • Komputer Lama
  • Nyoba Nge-gym (lagi)

Arsip blog

  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
© 2025 zaidan's blog | Powered by Superbs Personal Blog theme