Cara Mengganti Permission dan Ownership di Linux dengan Chmod

Perintah chmod (change mode) pada sistem operasi berbasis Unix dan Linux digunakan untuk mengubah hak akses (permission) suatu file atau direktori. Berdasarkan standar Single UNIX Specification (SUS) dan spesifikasi IEEE Std 1003.1-2008, pengaturan hak akses ini sangat krusial untuk menjaga keamanan sistem dan menentukan siapa saja yang dapat membaca, menulis, atau mengeksekusi berkas tertentu.

Dalam pengelolaan sistem Linux, hak akses dibagi menjadi tiga kategori utama, yaitu User/Owner (pemilik file), Group (kelompok pengguna), dan Others (pengguna lain). Selain itu, terdapat tiga jenis izin akses dasar yaitu Read (r), Write (w), dan Execute (x) yang masing-masing merepresentasikan nilai numerik tertentu.

Tabel Nilai Numerik dan Izin Akses Chmod

Nilai Oktal Simbolik Deskripsi Izin
0 --- Tidak ada izin sama sekali
1 --x Hanya izin eksekusi (execute)
2 -w- Hanya izin menulis (write)
3 -wx Izin menulis dan eksekusi
4 r-- Hanya izin membaca (read)
5 r-x Izin membaca dan eksekusi
6 rw- Izin membaca dan menulis
7 rwx Izin penuh (membaca, menulis, eksekusi)

Cara Penggunaan Dasar Perintah Chmod

Terdapat dua metode utama dalam menggunakan perintah chmod di terminal Linux: menggunakan mode oktal (angka) dan mode simbolik (huruf).

1. Menggunakan Mode Oktal (Angka)

Metode ini menggunakan tiga digit angka yang masing-masing mewakili hak akses untuk User, Group, dan Others. Contoh sintaks penggunaannya:

chmod 755 namafile.sh

Penjelasan angka di atas:

  • 7 (Owner): Memiliki izin read, write, dan execute (4+2+1).
  • 5 (Group): Memiliki izin read dan execute (4+0+1).
  • 5 (Others): Memiliki izin read dan execute (4+0+1).

2. Menggunakan Mode Simbolik (Huruf)

Jika Anda ingin mengubah izin akses untuk entitas tertentu saja tanpa mengubah yang lain, mode simbolik menggunakan singkatan huruf u (user), g (group), o (others), dan a (all), dikombinasikan dengan operator + (menambah), - (menghapus), atau = (mengatur ulang).

chmod u+x skrip.sh

Perintah di atas berfungsi untuk menambahkan izin eksekusi (x) khusus bagi pemilik (user) pada file skrip.sh.

Mengubah Hak Akses Secara Rekursif

Apabila Anda perlu mengubah hak akses seluruh file dan folder di dalam sebuah direktori secara bersamaan, gunakan opsi tambahan -R (rekursif):

chmod -R 755 /var/www/html

Kombinasi dengan Perintah Chown

Selain mengubah izin akses menggunakan chmod, seringkali administrator perlu mengubah kepemilikan (ownership) file atau direktori menggunakan perintah chown. Contoh penggunaannya:

chown -R www-data:www-data /var/www/html

Perintah tersebut mengubah kepemilikan user dan group dari direktori /var/www/html menjadi www-data, yang sangat umum digunakan pada server web berbasis Linux.

Troubleshooting Lapangan

Jika Anda mendapati pesan error seperti "Permission denied" saat menjalankan file skrip atau memodifikasi file sistem, pastikan Anda menggunakan hak akses administrator dengan menambahkan sudo di awal perintah, contohnya:

sudo chmod 755 /usr/local/bin/app