Jumat, 09 Desember 2011

Hak Akses File Pada UNIX

Hak Akses File Pada UNIX
just sharing..
Tiap user di unix khan punya hak akses sendiri2 tuh terhadap suatu file. Jadi, user bisa ngatur siapa aja yg bs ngakses file2 yg dimilikinya. User bs nentuin apakah file itu hanya bs diakses oleh dirinya sendiri(user), bs diakses oleh group, ataukah bs diakses oleh setiap user (other). ane cm mw ngasi informasi singkat buat lebih mengenal hak akses pada sistem Unix/Linux.

SPOILER: HIDE
Peringatan:
trit ini ditujuin buat newbie. kaya ane gni. baca trit ini dalam dosis tinggi bagi kakak2 yg udah expert dalam perintah-perintah UNIX dapat menyebabkan timbulnya gejala kebosanan yang luar biasa x_x

mari blajar bareng nyook..

…oO0–( Atribut & Hak Akses File )–0Oo…
SPOILER: HIDE
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 dibaca saja.
  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, kita bisa gunain perintah
Code:
~#ls -l.

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 )–0Oo…
SPOILER: HIDE
Struktur dasar perintah untuk penggunaan mode simbol ialah sebagai berikut:

‘[ugoa...][[+-=][rwxXs­tugo...]…][,...]‘

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:
Code:
einztein@BluescreenFX:~$ ls -l
total 28
drwxr-xr-x 2 einztein einztein 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 einztein einztein 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 einztein einztein 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 none
-rw-r–r– 1 einztein einztein 12 Sep 30 15:55 hanivinside
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 tmp
Terlihat bahwasanya disana terdapat 5 buah directory dan sebuah file dengan nama hanivinside Perhatikan file hanivinside File tersebut memiliki hak akses:

-rw-r–r–

(-) menandakan bahwa hanivinside bertipe file. (rw-) menandakan bahwa user (pemilik) file hanivinside dapat melakukan akses read ®, write(w), tanpa eksekusi (-). Sementara group hanya memiliki hak akses (r–). Artinya group hanya dapat melakukan pembacaan file hanivinside, tanpa dapat memodifikasi file tersebut. Begitu juga others. Sekarang kita reset hak akses other hanivinside dengan simbol =rw sehingga other dapat membaca dan memodifikasi file tersebut:

einztein@BluescreenFX:~$ chmod o=rw hanivinside

Sekarang kita lihat perubahan hak akses hanivinside dengan perintah: ls -l

Code:
einztein@BluescreenFX:~$ ls -l
total 28
drwxr-xr-x 2 einztein einztein 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 einztein einztein 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 einztein einztein 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 none
-rw-r–rw- 1 einztein einztein 12 Sep 30 15:55 hanivinside
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 tmp

tuh khan, hak akses file hanivinside 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 hanivinside:

einztein@BluescreenFX:~$ chmod g+w hanivinside

Kita lihat perubahannya dengan ls -l
Code:
einztein@BluescreenFX:~$ ls -l
total 28
drwxr-xr-x 2 einztein einztein 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 einztein einztein 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 einztein einztein 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 none
-rw-rw–rw- 1 einztein einztein 12 Sep 30 15:55 hanivinside
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 tmp

Ahaa.. kini hak akses file hanivinside telah berubah menjadi -rw-rw-rw-. Artinya, user, group dan other kini dapat membaca dan memodifikasi file tersebut.

…oO0—( Penggunaan mode numerik )-0Oo..
SPOILER: HIDE
Mode numerik menggunakan angka satu sampai empat oktal (0-7), diperoleh dengan penambahan nilai bit 4, 2 dan 1.

Code:
+--------+-----------+----------------------+
| 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 yah. Lihat daftar file dengan perintah ls -l

Code:
einztein@BluescreenFX:~$ ls -l
total 28
drwxr-xr-x 2 einztein einztein 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 einztein einztein 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 einztein einztein 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 none
-rw-r–r– 1 einztein einztein 12 Sep 30 15:55 haniv.txt
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 tmp

Terlihat bahwa disana terdapat 5 buah directory dan sebuah file dengan nama haniv.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:

einztein@BluescreenFX:~$ chmod 664 haniv.txt

Lho, dari mana angka 664 didapatkan?? Perhatikan tabel berikut:

Code:
+-------+---------+---------+
| user  |  group  |  other  |
+-------+---------+---------+
|   6   |   6     |    4    |
+-------+---------+---------+
|  rw-  |   rw-   |    r-   |
+-------+---------+---------+

Nah, sekarang udah ngerti khan?? ;)
Okay, kini kita lihat perubahannya dengan perintah ls -l

Code:
einztein@BluescreenFX:~$ ls -l
total 28
drwxr-xr-x 2 einztein einztein 4096 Sep 30 15:44 Desktop
drwxr-xr-x 5 einztein einztein 4096 Mar 25 2006 GNUstep
drwxr-xr-x 2 einztein einztein 4096 Sep 30 14:45 linuX
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 none
-rw-rw–r– 1 einztein einztein 12 Sep 30 15:55 haniv.txt
drwxr-xr-x 2 einztein einztein 4096 Mar 25 2006 tmp

hak akses untuk file haniv.txt kini telah berubah menjadi -rw-rw-r–

…oO0–{ umask (User Mask) }–0Oo…
SPOILER: HIDE
Ketika suatu file atau folder pertama kali 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 <nilai umask>

Contoh:
Code:
$ 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

Yuuhuu… skrng kita telah memahami mengenai konsep hak akses dan bagaimana cara melakukan perubahan hak akses suatu file pada Sistem Operasi Unix/Linux. Semoga trit ini dapat memberikan manfaat bagi member HN tercinta, terutama bagi newbie kaya ane yg baru memulai mencicipi betapa nikmatnya berkelana diatas OS Linux, ^_^

2 komentar:

terimakasih.....!!!!