Jumat, 29 November 2013

Linux File Permissions

Memahami Kepemilikan File
Setiap file di sistem Linux Anda, termasuk direktori, dimiliki oleh pengguna tertentu dan grup. Oleh karena itu, hak akses file didefinisikan secara terpisah untuk user, grup, dan lain-lain.
User: username dari orang yang memiliki file tersebut. Secara default, 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.  Hal  ini  berguna  jika,  misalnya,  Anda  memiliki  proyek  yang  membutuhkan banyak pengguna yang berbeda untuk dapat mengakses file tertentu, sementara yang lain tidak bisa. Dalam hal ini, Anda akan menambahkan semua pengguna ke dalam kelompok yang sama, pastikan file yang dibutuhkan dimiliki oleh kelompok itu, dan mengatur hak akses sesuai grup file tersebut.
Other: Seorang pengguna yang bukan pemilik file tersebut dan tidak termasuk dalam kelompok yang sama. Dengan kata lain, jika Anda menetapkan izin untuk kategori "other", itu akan mempengaruhi orang lain secara default.
Memahami Permission File
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.
Bagaimana Melihat Hak Akses File
Anda  dapat  melihat  hak  akses  dari  file  dengan  melihat  daftar  direktori  dengan mengetikkan perintah ls -l . Hasil dari perintah tadi akan tampil seperti ini :
Apa  output  dari  ls-l  artinya?  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),  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
Lalu, 9 karakter berikutnya menyatakan perizinan. Dibagi menjadi 3 grup, tiap grup 3 karakter mewakili: read, write, dan execute. Karakter tersebut mudah untuk diingat, diantaranya :
r = read permission
w = write permission
x = execute permission
- = no permission
Mengatur Hak Akses
Mode simbolik
Anda dapat mengatur hak akses file dengan perintah chmod. Kedua user, root dan pemilik file dapat mengatur hak akses file. chmod memiliki dua mode, simbolik dan numerik.
Mode  simbolik  cukup  mudah  diingat.  Pertama,  Anda  memutuskan  apakah  Anda mengatur hak akses bagi pengguna (u), kelompok (g), lainnya (o), atau ketiganya (a).
Kemudian, Anda menambahkan izin (+), hapus (-), atau menghapus izin sebelumnya dan  menambahkan  yang  baru  (=).  Selanjutnya,  Anda  memutuskan  apakah  Anda mengatur izin read (r), write (w), atau execute (x). Terakhir, Anda akan memberitahu chmod, hak akses file mana yang ingin Anda ubah.
Oke, kita memiliki beberapa contoh yang bisa Anda coba. Misalkan kita mempunyai file bernama contohfile, dan file memiliki izin akses penuh untuk semua kelompok.
Menghapus semua hak akses tetapi menambahkan izin write untuk semua orang :
$ chmod a=r contohfile
Setelah perintah, izin file itu akan menjadi -r--r--r--$ chmod g+x contohfile
Setelah perintah, izin file itu akan menjadi -r--r-xr--$ chmod u+wx contohfile
Setelah perintah, izin file itu akan menjadi -rwxr-xr--$ chmod ug-x contohfile
Setelah perintah, izin file itu akan menjadi -rw-r—r--Secara singkat pengaturan hak akses file dalam mode simbolik :
Which user?
u  user/owner
g  group
o  other
a  all
What to do?
+  add this permission
-  remove this permission
= set exactly this permission
Which permissions?
r  read
w write
x  execute
Mode Numerik
Mode  lain  dimana  chmod  dapat  digunakan  adalah  mode  numerik.  Dalam  mode numerik, hak akses file tidak diwakili oleh karakter. Sebaliknya, mereka diwakili oleh tiga digit nomor oktal.
4 = read (r)
2 = write (w)
1 = execute (x)
0 = tidak ada izin (-)
Untuk mendapatkan bit permission yang Anda inginkan, Anda menjumlahkan angka yang sesuai dengan hak aksesnya. Misalnya, izin rwx adalah 4 +2 +1 = 7, rx adalah 4 +1 = 5, dan rw adalah 4 +2 = 6. Karena Anda mengatur hak akses terpisah untuk pemilik, grup, dan lain-lain, Anda akan memerlukan nomor tiga digit yang mewakili hak akses dari semua kelompok-kelompok ini.
Kita lihat contoh di bawah ini :
$ chmod 755 contohfile
Perintah diatas akan mengubah hak akses contohfile menjadi -rwxr-xr-x. Pemilik akan memiliki hak akses penuh, read, write, dan execute (7 = 4 +2 +1), grup dan yang lain akan memiliki hak akses read dan execute (5 = 4 +1).
Mari kita contoh lain :
$ chmod 640 contohfile
Dalam hal ini, izin contohfile akan menjadi-rw-r-----. Pemilik akan memiliki izin read dan write (6 = 4 +2), kelompok memiliki izin read (4), dan yang lain tidak memiliki izin akses (0).
Mode  numerik  mungkin  tidak  sesederhana  mode  simbolik,  tetapi  dengan  mode  numerik, Anda dapat lebih cepat dan efisien mengatur hak akses file. Ini referensi cepat untuk pengaturan hak akses file dalam mode numerik mungkin membantu :
Which Number?
0  ---1  --x
2  -w-3  -wx
4  r--5  r-x
6  rw-7  rwx
Bagaimana caranya untuk mengubah kepemilikan file & direktori ?
Pemilik sebuah file atau direktori dapat diganti menjadi milik user yang lain. Untuk mengganti digunakan perintah chown. Berikut adalah cara penulisannya :
chown option pemilik_baru nama_file/direktori
Untuk melihat kepemilikan suatu file dan group, gunakan perintah ls dengan option -l
Contoh output dari perintah tersebut
-rw-rw-rw- 1 azizah azizah 0 Jan 23 05:32 contohfile
Terlihat nama azizah yang pertama adalah pemilik file dan nama azizah yang kedua adalah nama groupnya. Secara default nama group sama seperti nama pemilik file.
Untuk mengubah kepemilikan file contohfile dengan user lain, kita bisa mengetikkan:
chown aku contohfile
Perintah tersebut mengubah kepemilikan contohfile menjadi milik user aku bukan lagi user  azizah.  Untuk  melihat  perubahannya  lihat  kembali  detailnya  dengan menggunakan perintah.
ls –l contohfile
Salah satu option yang ada di chown adalah –R. Option –R ini mengubah permission semua file yang ada dalam subdirektori dalam direktori yang sedang aktif. Option –R bekerja secara rekursif,option tersebut mengubah kepemilikan semua objek yang ada dalam direktori bukan hanya kepemilikan direktorinya saja. Contoh penggunaannya:
chown -R aku work
Perintah ini memberikan chown permission bagi user aku terhadap semua file yang ada di direktori work.
**** Perintah chown harus dilakukan melalui root. User pengganti sudah harus ada
dalam sistem.

Referensi
http://www.tuxfiles.org/linuxhelp/filepermissions.html
E-book Tutorial Perintah Dasar Linux

Asdos SO

Tidak ada komentar:

Posting Komentar