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




