... " The quieter you become, the more you are able to hear " ...

Selasa, 02 Oktober 2012

FIle Permission pada Linux




Pada dasarnya konsep file permission di GNU/Linux adalah suatu pengaturan kepemilikan file/folder berdasarkan user dan/atau group. Kepemilikan file/folder bisa diberikan kepada user/group. Secara garis besar file permission dibagi menjadi tiga yaitu user, group dan other. Setiap file/folder di system file memiliki tiga atribut yaitu owner, group, dan mode.

Owner adalah id dari user pemilik file/folder tersebut.
Group adalah gid dari grup dimana user pemilik file/folder tersebut terdaftar.
Mode adalah sederetan angka 0 dan 1 untuk menyatakan flags akses terhadap suatu file/folder.

Cara paling mudah untuk melihat atau mengetahui ketiga atribut tersebut adalah dengan menjalankan perintah ls dengan memberikan opsi -l
rotyyu@mionoid:~/skrip$ ls -l
total 12
-rwxr--r-- 1 rotyyu rotyyu 139 2007-10-30 20:00 eth_link_stat.sh
-rwxr--r-- 1 rotyyu rotyyu 595 2007-10-30 20:32 mkdev.sh

Dari hasil perintah tersebut terlihat ada dua berkas yaitu eth_link_stat.sh danmkdev.sh (walaupun sebenarnya total ada 12, karena sudah diedit), yang dapat diketahui dari kolom ke-9.
Kedua berkas tersebut dimiliki oleh user rotyyu(kolom ke-4) yang tergabung dalam grup rotyyu (kolom ke-5). Sedangkan modeatau permission berkas tersebut dapat dilihat pada kolom ke-2 yang sama-sama bernilai rwxr—r--.

Penjelasan kolom lainnya adalah sebagai berikut, kolom pertama, tepat sebelum kolom permission, menyatakan apakah sebuah berkas merupakan direktori atau bukan, direktori dinyatakan dengan d sedangkan berkas biasa (regular file) dinyatakan dengan -.

Kolom ke-3 menyatakan banyaknya hard link ke berkas tersebut (akan dibahas pada kesempatan lain). Kolom ke-6, setelah nama grup, menyatakan ukuran dari berkas tersebut dalambytes. Kolom berikutnya merupakan informasi tanggal dan waktu berkas terebut diubah terakhir kali.

Pada kolom permission, tiga karakter pertama merupakan perizinan untuk userpemilik berkas tersebut (owner), tiga karakter berikutnya untuk grup (group), dan sisanya untuk yang lainnya (other).
Karakter-karakter tersebut mewakili permission [r]ead (dapat dibaca), [w]rite (dapat ditulis), dan e[x]cute (dapat dieksekusi).
Pengaturan file permission dengan cara ini (menggunakan karakter huruf) sebenarnya dapat dinyatakan dengan bilangan oktal (dan inilah sebenarnya yang berlaku karena karakter rwx digunakan hanya untuk mempermudah).

Dalam sistem bilangan oktal (basis delapan), permission dinyatakan dalam tiga digit, 4 untuk r, 2 untuk w, dan 1 untuk x. Dari contoh sebelumnya dapat diketahui bahwa kedua berkas tersebut memiliki permission 744 (terkadang harus ditulis sebagai 0744, prefix 0 menyatakan bilangan oktal), yang dapat digambarkan sebagai berikut: bila ijin baca akan diberikan maka bit yang berisi r diisi dengan 1, sebaliknya jika ijin baca ditiadakan maka bit r diisi dengan 0, demikian juga untuk permission lainnya (write dan execute).
user group other
rwx r-- r--
111 100 100
7 4 4

Menetapkan Kepemilikan (Ownership)
Untuk menetapkan kepemilikan suatu berkas, dapat dilakukan dari konsole/terminal/shell dengan bantuan perintah chown (“change own”) untuk mengubah user pemilik suatu file/folder dan chgrp (“change group”) untuk mengubah grup. Contoh untuk mengubah berkas eth_link_stat.sh menjadi milik user el_magnifico
$ chown el_magnifico eth_link_stat.sh
Untuk mengubah grup menjadi barca
$ chgrp barca eth_link_stat.sh
NB : perubahan ini hanya dapat dilakukan oleh user pemilik berkas atau root.

Menetapkan Permission
Untuk menetapkan permission dapat digunakan dengan dua cara yaitu menggunakan bilangan oktal atau karakter. Perintah yang digunakan adalahchmod (“change mode”) yang dijalankan dari CLI (Command Line Interface).

Jika menggunakan bilangan oktal, maka bit yang akan diset diisi dengan 1, dan jika ditiadakan maka diisi dengan 0. Contoh, untuk menambahkan ijin eksekusi untuk berkas mkdev.sh untuk group dan other
$ chmod 755 mkdev.sh

Sedangkan jika menggunakan karakter, maka perijinan diberikan dengan menyertakan tanda + (plus) didepan karakter yang menyatakan suatu perijinan, dan tanda – (minus) untuk meniadakan suatau perijinan. Karakter yang digunakan adalah
r -> read
w -> write
x -> execute
dan untuk melambangkan siapa yang akan diberi permisi maka digunakan karakter
u -> user (owner)
g -> group
o -> other
a -> all, merupakan gabungan dari user+group+other

Contoh, untuk meniadakan ijin baca untuk group dan other dari berkas eth_link_stat.sh
$ chmod og -w eth_link_stat.sh
Kedua metode (menggunakan bilangan oktal atau karakter) ini sama saja, silakan memilih sesuai dengan selera dan kemampuan. Cara kedua (menggunakan karakter) relatif lebih mudah bila dibandingkan dengan cara pertama yang mengharuskan seorang user memahami konversi bilangan berbasis oktal, biner, dan desimal.

Tidak ada komentar:

Posting Komentar

Silahkan masukkan komentar kalian disini