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