File & Folder Permission di *nix

Sudah bukan rahasia lagi kalau *nix seperti Linux dan BSD jauh lebih tahan terhadap gangguan virus dibanding windows. Salah satu yang menyebabkan *nix lebih mampu bertahan dari serangan virus adalah adanya File dan Folder permission yang lebih lengkap dan ketat.

Tetapi kadang untuk pemula, ketatnya file dan folder permission di *nix bisa menjadi penghalang untuk mencoba menginstall, mengcopy atau bekerja dengan file dan folder lainnya.

Biar gak pusing lagi dengan code 777 atau rwxr-xr-x atau mungkin anda bingung dengan bagaimana cara merubah permission dari suatu folder atau file artikel selanjutnya ini mungkin bisa sedikit membantu anda.


Pertama sebelum kita mulai dengan bagaimana cara merubah suatu folder atau file ada baiknya kita mengetahui faktor apa saja yang bisa membuat suatu file atau folder tidak bisa diakses oleh sembarangan user. Ada empat faktor yang bisa mempengaruhi bisa tidak nya suatu file di akses oleh user.

  1. User, sudah tentu yang pertama kali mempengarhui akses user adalah user itu sendiri. Unix mampu mengelola banyak sekali user. User bisa saja memang merupakan orang (manusia) tetapi user juga bisa saja berupa tipe dari suatu system. Contoh user berupa orang di box saya adalah user giest yaitu saya dan user squid yang diperuntukan untuk menjalankan aplikasi squid proxy.
  2. Group, Unix mengelompokan user didalam group-group tertentu untuk mempermudah mengatur beberapa user yang memiliki hak yang sama dalam mengelola file dan folder (Tetapi tidak terbatas hanya untuk mengelola file dan folder saja).
  3. Ownership atau kepemilikan, Setiap file di Unix pasti memiliki pemilik atau owner. Unix sangat menghargai pemilik suatu file atau folder oleh karena itu di Unix hanya pemilik atau root (admin atau pemilik box) tersebut lah yang memiliki akses paling tinggi terhadap suatu file atau folder.
  4. Permission, nah ini yang paling penting permission. Setiap file dan folder di *nix memiliki sederet setting permission untuk menentukan apakah file tersebut boleh dibaca, tulis/rubah/hapus atau bisa di eksekusi.

File permission dan Folder permission di *nix mengandung arti yang sedikit berbeda, walaupun notasi dan penulisan nya bisa saja sama.

Folder

read (r)= user diperbolehkan melihat file yang ada didalamnya contohnya dengan mengetik ls untuk melihat isi folder tersebut

write (w)= user diperbolehkan untuk membuat file baru didalam folder tersebut, kadang ini juga berarti bahwa user yang bersangkutan diperbolehkan untuk merubah dan menghapus file didalam folder tersebut.

Eksekusi (x) = user diperbolehkan untuk berpindah atau masuk kedalam folder tersebut.

File

read (r) = user diperbolehkan untuk melihat / membaca isi file tersebut

write (w) = user diperbolehkan untuk merubah dan menghapus file tersebut

eksekusi (x) = apabila file tersebut bisa dieksekusi (aplikasi atau script) user tersebut diperbolehkan untuk mengeksekusi / menjalankan nya.

Berikut ini contoh file permission yang sudah diberlakukan terhadap suatu file atau folder.

   drwxr-xr-x   2 giest  users  -       512 Aug 26  2006 song/  
   -r--r--r--   1 giest  users  -       323 Sep  3  2003 Readme.txt  
   -rwxr-xr-x   1 giest  users  -         8 Sep 25  2003 super_pi  

File atau Folder permission seperti terlihat diatas terdiri dari 3 pasang (triplet) rwx (rwx.rwx.rwx) dimana 3 yang pertama diperuntukan untuk pemilik file atau folder, 3 yang kedua untuk yang satu group an 3 yang terakhir adalah untuk others.

Contoh diatas terlihat untuk folder dikasih tanda d didepan folder permission nya. Kemudian file Readme.txt hanya diperbolehkan untuk di baca saja oleh semua user apabila kondisi permission seperti itu maka hanya owner dan root yang bisa merubah dan menghapus file tersebut. sementara file super_pi yang merupakan sebuah aplikasi memiliki permission untuk bisa di eksekusi.

Setelah anda mengerti arti dari read (r), write (w) dan eksekusi (x) mari kita lanjutkan ke cara merubah file permission tersebut. Ada beberapa cara untuk merubah file atau folder permission di *nix tetapi command nya selalu sama yaitu chmod. Tetapi tentu saja hanya pemilik dari file / folder yang bersangkutan yang diperbolehkan untuk merubah permission dari file / folder tersebut.

Cara pertama adalah dengan menggunakan kode-kode berupa huruf, dimana seperti diatas sudah di jelaskan file permission disimbolkan dengan huruf rwx contoh yang sering dipakai adalah seperti berikut ini.

chmod a-x coba.txt  
chmod g+rwx dataku/  
chmod +x test  

a dan g adalah menentukan permission tersebut diberlakukan untuk siapa. Sementara tanda minus (-) berarti hapus permission tersebut dari file / folder yang dimaksud dan tanda plus (+) berarti menambahkan permission tersebut terhadap file / folder yang bersangkutan. berikut ini adalah kode lengkapnya.

u = user / owner / pemilik dari file atau folder tersebut

g = group melambangkan user group yang berarti bahwa user yang satu group memiliki akses seperti yang ditentukan

o = other berarti user-user yang lain yang bukan pemilik file / folder dan juga tidak satu group dengan group yang diberi akses.

a = All, semua user.

Selain kode-kode diatas untuk memudahkan pekerjaan apabila anda harus merubah permission dari suatu folder beserta isinya yang banyak, chmod juga memiliki opsi -R yang berarti recursive atau berlaku untuk folder tersebut beserta isi didalam nya contoh penggunaan chmod dengan mode recursive.

chmod -R o-rwx config

dengan perintah diatas folder config beserta isinya akan di set menjadi tidak bisa dibaca, edit/hapus dan eksekusi untuk other (yang bukan pemilik dan satu group).

Cara berikutnya adalah dengan menggunakan angka. Cara yang satu ini lebih populer dibandingkan cara yang diatas anda cuman harus mengetahui konsep nya sedikit dan bisa merubah permission file atau folder dengan mudah dan cepat.

Seperti segala sesuatu didunia komputer yang selalu dihubungkan dengan biner maka untuk file permission inipun diambil dari biner. Karena permission pada dasarnya hanyalah 3 digit (triplet) karakter (rwx) maka bisa diumpamakan rwx = 111 biner. dimana 1 = aktif dan 0 = tidak aktif. Tetapi untuk mempermudah biasanya yang dipakai bukanlah binary nya tetapi nilai desiman dari biner tersebut. Inilah kombinasi yang mungkin dipakai dalam file permission.

rwx = 111 = 2^2 + 2^1 + 2^ 0 = 4+2+1 = 7 (tanda ^ = pangkat)

r– = 100 = 4 + 0 + 0 = 4

rw- = 110 = 4 + 2 + 0 = 6

r-x = 101 = 4 + 0 + 1 = 5

Contoh penggunaan nya alah seperti berikut ini.

chmod 777 = chmod a+rwx = rwxrwxrwx

dan akan terasa lebih mudah apabila harus memberikan permission yang berbeda untuk user, group dan other seperti berikut ini.

chmod 750 readme.txt

hasilnya adalah

-rwxr-x— untuk file readme.txt

dan apabila anda ingin merubah folder permission beserta seluruh file dan folder didalamnya seperti biasa berikan opsi -R seperti berikut.

chmod -R  750 data/ 

Untuk selanjutnya silahkan tentukan sendiri mana yang lebih anda anggap mudah jangan sampai anda tidak bisa mengeksekusi sebuah file karena permission nya salah :D.


About this entry