Linux adalah sistem operasi open source yang bersifat multi user. Linux dapat digunakan oleh beberapa user yang berbeda dalam waktu yang bersamaan.Oleh karena itu, untuk meningkatkan keamanan, Linux membagi level autorisasi menjadi dua level, yaitu Permiissions dan Owner. Dengan dua level autorisasi ini, diharapkan user tidak bisa membaca, mengubah hingga eksekusi file atau direktori yang bukan wewenangnya.
Autorisasi ini tidak bersifat mutlak, artinya user yang berwenang dapat mengubah permissions atau owner file/direktori miliknya. Sehingga,. file/direktori tersebut menjadi lebih privat atau file/diirektori tersebut menjadi dapat dibaca, diubah atau dieksekusi oleh user lain, tergantung bagaimana user yang berwenang memberikan autorisasi permissions dan owner tersebut.
Pada artikel ini, kita akan coba mempelajari konsep permissions dan bagaimana cara mengubah permissions pada Linux terlebih dahulu.
Setiap file/direktori pada sistem operasi Linux, memiliki 3 tipe permissions untuk ke-3 tipe owners (user, group, other). Adapun 3 tipe permissions tersebut adalah:
1. Read : Tipe permissions ini memberikan autorisasi kepada user untuk dapat membuka dan membaca isi file. Jika itu berupa direktori, maka user tersebut dapat mengakses dan melihat isi dari direktori tersebut
2. Write : Tipe permissions ini memberikan autorisasi kepada user untuk dapat menambah, mengubah isi konten, dan mengubah nama file yang ada di dalam suatu direktori. Jika user tersebut memiliki autorisasi write terhadap suatu file, tetapi user tersebut tidak memiliki autorisasi write pada direktori tempat file tersebut, maka user tersebut hanya dapat mengubah isi konten file tersebut, tetapi tidak bisa untuk menghapus, memindahkan, dan mengubah nama file yang ada pada direktori tersebut
3. Execute : Jika pada Windows kita dapat mengeksekusi atau menjalankan file yang berekstensi .exe. Pada Linux, user tidak dapat mengeksekusi file jika user tersebut tidak memiliki permissions execute pada file tersebut. User masih dapat membaca atau mengubah isi file tersebut selama memiliki permissions read atau wriite, tetapi user tidak dapat menjalankan file tersebut.
Command untuk melihat permissions pada file/direktori adalah :
ls -l
Jika kita coba jalankan command tersebut, maka akan menampilkan daftar file atau direktori yang ada didalam direktori tersebut, berikut dengan menampilkan permissions-nya

ini adalah capture daripada output command ls -l. Fokus pada bagian yang dikotak merah pada capture tersebut. Pada bagian tersebut tertulis "drwxrwxr-x", yang artinya pada karakter pertama tertulis huruf 'd' yang artinya direktori. Jika file, karakter pertama akan menampilkan simbol dash '-'. Tiga karakter selanjutnya, yaitu karakter ke-2 hingga karakter ke-4 tertulis 'rwx' adalah permissions untuk user 'web_server' yang artinya user web_server dapat membaca, mengubah hingga eksekusi direktori tersebut. Kemudian, tiga karakter selanjutnya, yaitu karakter ke-5 sampai karakter ke-7 masih tertulis 'rwx' adalah permissions untuk group 'web_server' dan user lain didalam group tersebut. Artinya, group 'web_server' dan member group dapat membaca, mengubah hingga eksekusi direktori tersebut. Selanjutnya, pada karakter ke-8 sampai karakter ke-10, adalah permissions untuk user others (bukan user 'web_server' dan bukan jg member dari group 'web_server'). Pada permissions untuk other tertulis 'r-x', artinya user other hanya bisa membaca dan eksekusi direktori 'my_direktori'.
Ada dua cara untuk dapat mengubah permissions pada file/direktori.
Pada mode ini, file permissions direpresentasikan ke dalam 3 digit angka untuk mewakili setiap segment permissions (user, group, dan other). Berikut adalah tabel digit angka untuk setiap tipe permissions
| Digit Angka | Tipe Permissions |
| 0 | No Permissions |
| 1 | Execute |
| 2 | Write |
| 4 | Read |
sebagai contoh, jika kita ingin memberikan permissions pada sebuah direktori menjadi 'drwxr-xr-x', maka command yang harus kita jalankan adalah
chmod 755 directory/file_path
chmod adalah command untuk ubah permissions, 755 adalah 3 digit angka yang mewakili tipe permissions dan directory/file_path adalah path direktori/file yang ingin diubah permissions-nya. Lantas, mengapa 3 digit angka tersebut harus 755?
Jika dilihat, kita ingin ubah permissions-nya menjadi 'rwxr-xr-x'. Yang artinya, untuk segment user, kita ingin memberikan permissions 'rwx'. Jika dilihat pada tabel, tipe Read atau 'r', disimbolkan dengan digit angka 4. Kemudian, untuk tipe permissions Write atau 'w', disimbolkan dengan digit angka 2. Lalu, untuk tipe permissions execute atau 'x', disimbolkan dengan digit angka 1. Jika simbol digit angka tersebut dijumlahkan, maka hasilnya adalah 7 (4+2+1).
Selanjutnya, kita lihat untuk segment group dan other. Tipe permissions pada segment group dan other sama, yaitu 'r-x'. Selanjutnya, kita lihat pada table kembali, tipe Read atau 'r' disimbolkan dengan digit angka 4. Kemudian, pada segment group dan other, tidak diberikan permissions write atau 'w' ditandai dengan adanya dash '-', maka disimbolkan dengan digit angka 0. Kemudian, untuk tipe Execute atau 'x' disimbolkan dengan digit 1. Maka, jika kita jumlahkan ketiga digit angka tersebut adalah 5 (4+0+1). Maka dari itu, permissions 'rwxr-xr-x' dapat direpresentasikan dengan 3 digit angka 755.
Contoh lainnya:
Jika pada absolute mode kita langsung mengubah permissions terhadap ketiga segment owner (user, group dan other), pada symbolic mode, kita mengubah permissions spesifik terhadap segment owner tertentu saja. Dengan bantuan operator aritmatika, kita dapat menambahkan, mengurangi atau mengubah permissions pada segment owner tertentu.
| operator | fungsi |
| + | menambahkan permissions terhadap file atau direktori |
| - | mengurangi permissions terhadap file atau direktori |
| = | set permissions untuk mengubah set permissions sebelumnya |
untuk segment owner, dapat direpresentasikan berdasarkan tabel berikut
| u | user/owner |
| g | group |
| o | other |
| a | all |
sebagai contoh, kita mempunyai direktori dengan permissions 'drwxr-xr-x'. Kemudian, kita ingin menambahkan permissions 'w' pada segment group menjadi 'drwxrwxr-x'. Maka, command yang harus kita jalankan adalah
chmod g+w directory/file_path
chmod adalah command untuk ubah permissions, 'g' merepresentasikan segment group, operator '+' menandakan bahwa kita ingin menambahkan permissions dan 'w' adalah tipe permissions yang ingin ditambahkan, yaitu tipe Write.