Linux Permissions : Konsep Linux Permissions dan Bagaimana Ubah Permissions Terhadap File atau Direktori
Linux Permissions konsep permissions dan bagaimana ubah permissions pada file atau direktori [docs/kuhomi.id].

Linux Permissions : Konsep Linux Permissions dan Bagaimana Ubah Permissions Terhadap File atau Direktori

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. 

Konsep Permissions

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

rstechno15.co.id

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'.

Cara Mengubah Permissions pada File/Direktori

Ada dua cara untuk dapat mengubah permissions pada file/direktori.

  1. Absolute Mode
  2. Symbolic Mode

1. Absolute Mode

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:

  1. r-xrwxrw- = (4+0+1)(4+2+1)(4+2+0) = 576
  2. r--r--r-- =(4+0+0)(4+0+0)(4+0+0) = 400
  3. rwxr--r-- = (4+2+1)(4+0+0)(4+0+0) = 744

2. Symbolic Mode

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. 

rstechno15.co.id

 

Artikel Terkait