Pada Linux, setiap user memiliki hak akses sendiri terhadap suatu file. Jadi, user dapat mengatur siapa saja yang dapat mengakses file-file yang dimilikinya. User dapat menentukan apakah file itu hanya dapat diakses oleh dirinya sendiri(user), dapat diakses oleh group, ataukah dapat diakses oleh setiap user (other).
Pada dasarnya, ada 3 tipe hak akses yang dapat diterapkan pada sebuah file:
1. Read (r)
File dengan hak akses ini berarti file tersebut hanya bisa dibacasaja.
2. Write (w)
File dengan hak akses write dapat dibaca sekaligus dapat dimodifikasi.
3. Execute (x)
File dengan hak akses Execute dapat dijalankan/dieksekusi.
Untuk melihat hak akses suatu file, anda dapat menggunakan perintah ls -l. Baca artikel terdahulu mengenai penjelasan perintah tersebut.
Pengubahan hak akses suatu file dapat dilakukan dengan menggunakan perintah chmod. Struktur dasar dari perintah tersebut ialah:
chmod [OPTION] [--recursive] [--changes] [--silent] [--quiet] [--verbose] [--help] [--version] mode file...
OPTION:
-c, --changes
Verbose, menampilkan hanya file-file yang memiliki hak akses yang berubah.
-f, --silent, --quiet
Tidak menampilkan pesan kesalahan mengenai file-file yang hak aksesnya tidak dapat dirubah.
-v, --verbose
Verbose, menampilkan penjelasan perubahan hak akses.
-R, --recursive
Secara rekursif merubah hak akses direktori dan isinya.
--help
Menampilkan cara penggunaan program.
--version
Menampilkan informasi versi program.
Perintah chmod merubah hak akses file menurut mode. Mode disini dapat berupa sebuah simbol atau angka oktal yang mewakili pola bit untuk membuat perubahan hak akses yang baru.
chmod tidak akan merubah hak akses dari symbolic link; Sistem call chmod tidak dapat mengubah hak akses file-file tersebut. Hal ini bukan suatu masalah karena hak akses symbolic link tidak pernah digunakan. Walaupun demikian, setiap symbolic link yang diberikan pada baris perintah bersama dengan chmod merubah hak akses dari file yang dituju. Tapi chmod mengabaikan symbolic link yang menuju ke direktori lain.
...oO0---( Penggunaan mode simbol
Struktur dasar perintah untuk penggunaan mode simbol ialah sebagai berikut:
`[ugoa...][[+-=][rwxXs tugo...]...][,...]'
Bingung yach?? gini nich.. Arti dari simbol-simbol diatas yaitu:
u ---> pemilik(user)
g ---> group
o ---> other, untuk user lain bukan didalam grup
a ---> seluruh user
+ ---> TAnda ini menyebabkan sebuah hak akses tersebut ditambahkan ke sebuah file. - ---> TAnda ini berlaku sebaliknya, yaitu menyebabkan hak akses dihapus.
= ---> TAnda ini menyebabkan hanya hak akses itu saja yang dimiliki oleh file yang
bersangkutan.
Adapun huruf-huruf `rwxXstugo' ialah bagian untuk memilih hak akses baru:
r ---> hak akses baca
w ---> hak akses tulis
x ---> hak akses eksekusi
X ---> mengeksekusi hanya bila file adalah sebuah direktori atau sudah memiliki hak
akses eksekusi untuk beberapa user.
s ---> mengeset ID user atau ID group pada saat eksekusi
t ---> menyimpan teks program pada swap device
u ---> hak akses untuk user yang telah memilikinya
g ---> hak akses untuk user lain dalam grup yang telah memilikinya
o ---> hak akses untuk user lain bukan dalam grup yang telah memilikinya
Contoh:
spyro@spyrozone:~$ ls -l
total 28
drwxr-xr-x 2 spyro spyro 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 spyro spyro 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 spyro spyro 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 none
-rw-r--r-- 1 spyro spyro 12 Sep 30 15:55 spyrozone.net
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 tmp
Terlihat bahwasanya disana terdapat 5 buah directory dan sebuah file dengan nama spyrozone.net. Perhatikan file spyrozone.net. File tersebut memiliki hak akses:
-rw-r--r--
(-) menandakan bahwa spyrozone.net bertipe file. (rw-) menandakan bahwa user (pemilik) file spyrozone.net dapat melakukan akses read (r), write(w), tanpa eksekusi (-). Sementara group hanya memiliki hak akses (r--). Artinya group hanya dapat melakukan pembacaan file spyrozone.net, tanpa dapat memodifikasi file tersebut. Begitu juga others. Sekarang kita reset hak akses other spyrozone.net dengan simbol =rw sehingga other dapat membaca dan memodifikasi file tersebut:
spyro@spyrozone:~$ chmod o=rw spyrozone.net
Sekarang kita lihat perubahan hak akses spyrozone.net dengan perintah ls -l
spyro@spyrozone:~$ ls -l
total 28
drwxr-xr-x 2 spyro spyro 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 spyro spyro 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 spyro spyro 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 none
-rw-r--rw- 1 spyro spyro 12 Sep 30 15:55 spyrozone.net
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 tmp
Tuch khan, hak akses file spyrozone.net kini telah berubah menjadi -rw-r--rw-. Artinya, user dan other kini dapat membaca dan memodifikasi file tersebut. Sekarang kita sisipkan atribut w pada group dengan simbol +w supaya group juga dapat membaca dan memodifikasi file spyrozone.net:
spyro@spyrozone:~$ chmod g+w spyrozone.net
Kita lihat perubahannya dengan ls -l
spyro@spyrozone:~$ ls -l
total 28
drwxr-xr-x 2 spyro spyro 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 spyro spyro 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 spyro spyro 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 none
-rw-rw-rw- 1 spyro spyro 12 Sep 30 15:55 spyrozone.net
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 tmp
Ahaa.. kini hak akses file spyrozone.net telah berubah menjadi -rw-rw-rw-. Artinya, user, group dan other kini dapat membaca dan memodifikasi file tersebut. Mudah bukan? ;)
...oO0---( Penggunaan mode numerik
Mode numerik menggunakan angka satu sampai empat oktal (0-7), diperoleh dengan penambahan nilai bit 4, 2 dan 1. Perhatikan tabel berikut:
Angka
Hak akses
Keterangan
1
--x
Execute
2
-w-
Write
3
-wx
Write, Execute
4
r--
Read
5
r-x
Read, Execute
6
rw-
Read, Write
7
rwx
Read, Write, Execute
Okay, biar nggak bingung, kita langsung ke contoh aja yach. Lihat daftar file dengan perintah ls -l
spyro@spyrozone:~$ ls -l
total 28
drwxr-xr-x 2 spyro spyro 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 spyro spyro 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 spyro spyro 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 none
-rw-r--r-- 1 spyro spyro 12 Sep 30 15:55 spyro.txt
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 tmp
Terlihat bahwasanya disana terdapat 5 buah directory dan sebuah file dengan nama spyro.txt yang memiliki hak akses -rw-r--r-- (udah tau khan artinya?)
Nah, kini akan kita ubah hak akses file tersebut menjadi -rw-rw-r--. Maka kita cukup mengetikkan:
spyro@spyrozone:~$ chmod 664 spyro.txt
Lho, dari mana angka 664 didapatkan?? Perhatikan tabel berikut:
User Group Other
6 6 4
rw- rw- r--
Nah, sekarang udah ngerti khan?? ;)
Okay, kini kita lihat perubahannya dengan perintah ls -l
spyro@spyrozone:~$ ls -l
total 28
drwxr-xr-x 2 spyro spyro 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 spyro spyro 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 spyro spyro 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 none
-rw-rw-r-- 1 spyro spyro 12 Sep 30 15:55 spyro.txt
drwxr-xr-x 2 spyro spyro 4096 Mar 25 2006 tmp
Yuppy.. hak akses untuk file spyro.txt kini telah berubah menjadi -rw-rw-r--
...o(2)o...
...oO0--( umask (User Mask) )--0Oo...
Ketika suatu file atau folder pertamakali diciptakan, system akan membuat atribut default terhadap file/directory tersebut. Dengan perintah umask, kita dapat menentukan sendiri atribut default untuk file/directory yang baru diciptakan.
Atribut default yang diberikan oleh system sebenarnya mnemiliki kalkulasi sebagai berikut:
Atribut File : 666
Nilai umask : 022
----------------------- -
Atribut default : 644
Atribut Directory : 777
Nilai umask : 022
----------------------- -
Atribut default : 755
Kita dapat mengubah-ubah sendiri nilai umask dengan mengetikkan perintah:
$ umask
Contoh:
$ umask 000
Maka, nantinya file baru yang tercipta akan memiliki atribut:
Atribut File : 666
Nilai umask : 000
----------------------- -
Atribut default : 666
Dan nantinya directory baru yang tercipta akan memiliki atribut:
Atribut directory : 777
Nilai umask : 000
----------------------- -
Atribut default : 777
...o(3)o...
...oO0--( Latihan Yuuk! )--0Oo...
-----------------------------------------------------------------------------------
Percobaan 1 : Ijin Akses
-----------------------------------------------------------------------------------
1. Melihat identitas diri melalui etc/passwd atau etc/group, informasi apa yang ditampilkan ?
$ id
$ grep
$ grep [Nomor group id] /etc/group
2. Memeriksa direktori home
$ ls -ld /home/
3. Mengubah Ijin akses (chmod). Perhatikan ijin akses setiap perubahan !
$ touch f1 f2 f3
$ ls -l
$ chmod u+x f1
$ ls –l f1
$ chmod g=w f1
$ ls –l f1
$ chmod o-r f1
$ ls –l f1
$ chmod a=x f2
$ ls –l f2
$ chmod u+x,g-r,o=w f3
$ ls –l f3
$ chmod 751 f1
$ chmod 624 f2
$ chmod 430 f3
$ ls –l f1 f2 f3
4. Mengganti kepemilikan digunakan perintah chown. Masuk ke root untuk mengganti kepemilikan tersebut.
$ su root
$ echo Hallo > f1
$ ls –l f1
$ chown
$ ls –l f1
5. Ubahlah ijin akses home directory
$ chmod g+rwx /home/
$ ls –l /home
$ exit
6. Sekarang cobalah untuk subtitute user ke
$ su
$ ls –l f1
$ cat f1
$ exit
7. Mengubah group dengan perintah chgrp
$ grep root /etc/group
$ grep other /etc/group
$ su
$ chgrp root f1
$ ls –l f1
$ chgrp
$ ls –l f3
$ exit
-----------------------------------------------------------------------------------
Percobaan 2 : User Mask
-----------------------------------------------------------------------------------
1. Menentukan ijin akses awal pada saat file atau direktori dibuat
$ touch myfile
$ ls -l myfile
2. Melihat nilai umask
$ umask
3. Modifikasi nilai umask
$ umask 027
$ umask
$ touch file_baru
$ mkdir mydir
$ ls -l
$ umask 077
$ touch xfiles
$ mkdir xdir
$ ls -l
Apa yang harus saya posting
11 bulan yang lalu
0 komentar:
Posting Komentar