Kamis, 28 November 2013

Permission File Di Linux





Konsep Dasar

Pada dasarnya konsep file permission di GNU/Linux adalah suatu pengaturan kepemilikan file/folder berdasarkan user dan/atau group. Kepemilikan file/folderbisa 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 pemilikfile/folder tersebut. Group adalah gid dari grup dimana user pemilik file/foldertersebut terdaftar. Mode adalah sederetan angka 0 dan 1 untuk menyatakanflags akses terhadap suatu file/folder.

Apa itu file permission ?

File permission adalah hak akses bagi user untuk membaca,menulis dan mengeksekusi sebuah file.
Di linux atau unix mempunyai 3 hak akses berbeda pada sebuah file, yaitu owner (pemilik file) , group dan publik.

Apa gunanya ?

Tidak lain adalah untuk keamanan data, untuk menjaga file-file supaya hanya diakses user yang berkepentingan.

Kepemilikan file

Setiap file di sistem Linux Anda, termasuk direktori, dimiliki oleh pengguna tertentu
dan grup.
User: username dari orang yang memiliki file tersebut. Pengguna yang menciptakan file tersebut akan menjadi pemiliknya.
Grup: Grup User yang memiliki file tersebut. Semua pengguna yang termasuk ke dalam kelompok yang memiliki file tersebut akan memiliki hak akses yang sama ke file.
Other: Seorang pengguna yang bukan pemilik file tersebut dan tidak termasuk dalam kelompok yang sama.

Izin akses di Linux

Ada tiga jenis izin akses di Linux: read, write, dan execute. Izin ini didefinisikan secara terpisah untuk pemilik file, kelompok dan semua pengguna lain.
Read. Pada file biasa, read berarti file dapat dibuka dan dibaca. Pada sebuah direktori, read berarti Anda dapat melihat daftar isi direktori.
Write. Pada file biasa, ini berarti Anda dapat memodifikasi file, alias menulis data baru ke file. Dalam kasus sebuah direktori, write berarti Anda dapat menambah, menghapus, dan mengubah nama file dalam direktori. Ini berarti bahwa jika file memiliki izin write, Anda diperbolehkan untuk memodifikasi isi file, tetapi Anda diperbolehkan  untuk  mengubah  nama  atau  menghapus  file  hanya  jika  hak  akses direktori file yang memungkinkan Anda untuk melakukannya.
Execute. Dalam kasus sebuah file biasa, ini berarti Anda dapat menjalankan file  sebagai program atau shell script. Pada sebuah direktori, execute (disebut juga "search bit") memungkinkan Anda untuk mengakses file dalam direktori dan memasukkannya, dengan perintah cd, misalnya.

Melihat Hak Akses File
Untuk cara melihat sebuah permission sebuah file kita bisa melihatnya dengan perintah di bash console dibawah ini

$ ls –l

maka akan list file dalam direktori yang aktif beserta atribut nya. Exp :

Kolom  pertama,  salah  satu  yang  terlihat  seperti sekelompok  omong  kosong,  menunjukkan jenis  file  dan  perizinan. 
Kolom  kedua menunjukkan  jumlah  link  (entri  direktori  yang  merujuk  ke  file).
Kolom  yang  ketiga menunjukkan pemilik file, dan yang keempat menunjukkan kelompok pemilik file.
Kolom  lain  menunjukkan  ukuran  file  dalam  byte,  tanggal  dan  waktu  modifikasi terakhir, dan nama file.

Karakter pertama menunjukkan :

d = directory
- = regular file
l = symbolic link
s = Unix domain socket
p = named pipe
c = character device file
b = block device file

9 karakter berikutnya menyatakan perizinan. Terdiri dari :
r = read permission
w = write permission
x = execute permission
- = no permission




Chmod

Perintah chmod digunakan untuk mengubah properti sebuah file atau folder, untuk menggunakan kita harus memastikan secara tepat setting file permission yang akan diberikan. ada 2 cara untuk melakukan settingan file permision :

Modus Symbolic

Modus symbolic ini cukup mudah diingat. karena dapat menentukan hak akses untuk user (u), group (g), others (o) dan untuk ketiganya (a). kemudian dapat menambahkan permission (+), hapus permission (-), atau menghapus hak akses sebelumnya dan menambahkan yang baru (=). berikutnya untuk permission read (r), perizinan write (w), dan untuk execute (x).Contoh untuk menghapus semua permission tapi menambahkan read untuk semuanya.


Modus Numerik
modus lain dimana chmod bisa digunakan ialah dengan modus numerik. dalam modus numeric ini permission file bukanlah huruf, melainkan tiga digit oktal.

4 = read (r) 
2 = write (w) 
1 = execute (x) 
0 = no permission (-)

untuk menambahkan permission, kita tinggal menambahkan angka yang sesuai dengan angka yang di atas. sebagai contoh, hak akses rwx maka 4+2+1 = 7, rx maka 4+1 = 5 dan rw maka 4+2 = 6. untuk pengaturan user, group, dan others, tinggal menomorkan tiga digit yang mewakili hak akses kelompok.contoh menambahkan read dan write pada user dan read pada group :

Mengubah kepemilikan file & direktori

Untuk mengganti digunakan perintah chown. Berikut adalah cara penulisannya :
chown option pemilik_baru nama_file/direktori

Untuk mengubah kepemilikan file contohfile dengan user lain, kita bisa mengetikkan:
chown aku contohfile

Untuk  melihat  perubahannya  lihat  kembali  detailnya  dengan menggunakan perintah.
ls –l contohfile

chown –R ini mengubah permission semua file yang ada dalam subdirektori dalam direktori yang sedang aktif.
chown -R aku work
Perintah ini memberikan chown permission bagi user aku terhadap semua file yang ada di direktori work.






Referensi

E-book Tutorial Perintah Dasar Linux
Module 6 Linux permission