Monday, July 15, 2013

Hak Akses File

Hak akses file dalam sistem operasi linux merupakan bagian dari sistem administrasi yang mempunyai peran sangat penting. Maksud dan tujuan adanya hak akses file adalah agar user lain tidak bisa mengakses (membaca, mengeksekusi, dan mengedit) file secara bebas. Pengaksesan file terdiri dari tiga aktifitas yaitu membaca (read : r), menulis (write : r), dan mengeksekusi (execute : x). File yang diberikan hak akses bisa berupa folder beserta sub folder-nya atau bisa juga berupa file dengan ekstensi tertentu. Contoh yang sederhana adalah ketika membuat sebuah file bash shell yang berekstensi *.sh. Agar file tersebut bisa dieksekusi oleh semua user, maka langkah pertama adalah merubah hak aksesnya dengan mengetik ;
chmod +x apps.sh
mengenai apa maksud dari skrip tersebut akan dibahas lebih lanjut.

Membaca, Menulis, dan Mengeksekusi

Membaca, Menulis, dan Mengeksekusi adalah tiga aktifitas yang dilakukan user dalam mengakses file. Untuk mencegah user lain agar tidak secara bebas melakukan tiga hal tersebut, maka perlu dilakukannya pemberian hak akses ke file yang dimaksud. Hak akses memberikan tujuan sebagai bentuk  permisi. Sehingga adanya hak akses, user lain bisa diberikan otorisasi membaca saja, menulis saja, mengeksekusi saja,dan bisa juga merupakan kombinasi dari ketiganya.
Untuk melihat hak akses apa saja yang diberikan pada suatu file, bisa dilakuan dengan mengetik ls -l .

contoh :

muksidin@muksidin:~/Documents$ ls -l
total 36
drwxr-xr-x 2 muksidin muksidin  4096 Jul  9 17:06 Aptana Rubles
drwxr-xr-x 4 muksidin muksidin  4096 Jul 10 17:17 Aptana Studio 3 Workspace
-rw-rw-r-- 1 muksidin muksidin 24064 Jun 20 21:06 Blog-temp.wps
drwxr-xr-x 2 muksidin muksidin  4096 Jul 14 17:55 virtualbox tutor


Ada beberapa atribut yang diberikan pada sebuah hak akses yang menyatakan sebagai bentuk file, folder, simbolik link, dan jenis file yang lain. Perhatikan kode berikut :
drwxr-xr-x
Pada contoh di atas terlihat ada huruf 'd' di awal deklarasi, d adalah atribut file yang berarti sebagai jenis direktori atau folder. berikut atribut - atribut file :
d = direktori
- = regular file
l= simbolik link
c = character special file, tipe file mengenai sebuah device yang menangani data, biasanya berupa modem dan terminal
b = block special file, tipe file mengenai sebuah device yang menangani data dalam blok, biasanya berupa harddrive dan cd-room drive.

Pada contoh di atas juga menyatakan bahwa hak akses terpisah menjadi 3 bagian yang ditandai dengan  simbol '-', perihal tersebut menjelaskan :
drwxr = hak akses untuk user (owner)
xr        = hak akses untuk group (group)
        = hak akses untuk user lain (other)
Adapun maksud dari karakter r, w, dan x adalah sebagai berikut :
  • -r , mengijinkan untuk membuka file dan membaca, serta diberikan ijin untuk membuka dan melihat seluruh konten yang ada di dalam folder
  • -w, mengijinkan untuk menulis file akan tetapi tidak bisa untuk me-rename dan menghapus file, serta diberikan ijin untuk membuat, menghapus, dan me-rename folder
  • -x, mengijinkan untuk mengeksekusi file (jika file tersebut adalah sebuah program), serta memberikan ijin untuk bisa mengakses folder (contoh : cd /directory/)

Sistem bilangan oktal

Dalam ilmu komputer dikenal ada 4 sistem bilangan yaitu bilangan desimal, hexadesimal, oktal, dan biner. Bilangan desimal merupakan sistem bilangan yang paling banyak dipakai oleh manusia untuk berbagai keperluan keseharian. Sistem bilangan ini terdiri dari 10 digit yang dimulai dari 0 sampai 9, sedangkan sistem bilangan hexadesimal, oktal, dan biner sering digunakan untuk keperluan komputasi (proses dalam sistem komputer). 

Selain dari fungsi tersebut, dari ke-empat sistem bilangan yaitu Oktal digunakan dalam sistem administrasi linux yang nilainya menyatakan hak akses file. Dalam sistem bilangan oktal nilai bilangan yang tertinggi adalah 7, demikian juga dalam hak akses yang menyatakan bahwa file atau folder tersebut bisa ditulis, baca, dan eksekusi atau bisa masuk (jika tipe folder). Berikut penjelasannya :
  • 0 --- nothing to do
  • 1 --- executable (x)
  • 2 --- writable (w)
  • 4 --- readable  (r)
dari ketiga bilangan tersebut jika dijumlah 1+2+4 = 7, yang berarti
angka 7 merupakan hak untuk bisa mengeksekusi, menulis, dan membaca.

Berikut adalah table konversi bilangan oktal ke binary disertakan dengan persamaan seberapa besar hak akses dari nilai tersebut, sehingga nantinya akan mempermudah ketika akan membuat kombinasi yang menyatakan nilai hak akses yang diinginkan.

Contoh :

drwxr-xr-x berarti atribut file tersebut adalah direktori, dan pemilik folder tersebut diberikan hak akses untuk masuk, membuat, mengedit, dan menghapus folder, sedangkan untuk anggota dalam group diberikan hak akses hanya untuk masuk dan membaca, dan untuk user lain hanya diberikan hak akses masuk saja. Jika dikonversi kedalam bentuk oktal dengan menggunakan tabel persamaan, maka diperoleh angka oktal 755, berikut penjelasannya :
7 --> rwx
5 --> r-x
5 --> r-x
sehingga diperoleh 755 = rwxr-xr-x.
Kombinasi angka yang sering dipakai adalah 7 (rwx), 6 (rw-), 5 (r-x), 4 (r--), dan 0 (---). untuk mengubah hak akses file secara umum menggunakan rumus :
chmod -(option) (value) file
contoh :
mengubah hak akses file abc.odt dengan nilai 755 
chmod 755 abc.doc

Mengubah hak akses file dengan notasi simbolik

Berikut notasi simbolik dan artinya :
  • u --> kepanjangan dari 'user' yang berarti pemilik file atau folder
  • g --> group
  • o --> other
  • a --> all
jika tidak karakter yang diikutkan dalam deklarasi (misal : +x) maka berarti semua (a : all). untuk memberikan hak akses dengan menggunakan "+" atau bisa juga dengan "=" untuk memberikan hanya hak akses yang dispesifikasikan. Adapun untuk menghilangkan atau menghapus hak akses dengan "-". 
contoh :
chmod +x apps.sh
mempunyai arti bahwa file tersebut bisa dieksekusi oleh semua (all).
untuk memberikan hak akses jika dalam deklarasi lebih dari satu maka diberi tanda koma, contoh :
chmod u+wr,go=r abc.doc

referensi :
Linux System Administration; publisher : gbdirect; website : http://training.gbdirect.uk/
The Linux Command Line; author: William E. Shotts, Jr;  Website : http://linuxcommand.org/

Salam Open Source

0 komentar:

Post a Comment

Terima kasih telah berkunjung, apabila ada yang perlu dipertanyakan silahkan tinggalkan komentar.