Konsep Perijinan dan Proteksi unix

November 28, 2006 at 2:18 pm (Linux)

Untuk pengaturan akses bagi file dan direktori, setiap
file dan direktori sistem UNIX memiliki tiga jenis pemakai
yaitu:

o Pemilik (owner)
Pemilik adalah pemakai yang memiliki file tersebut,
biasanya orang yang pertama kali menciptakan file
tersebut. Untuk mengubah kepemilikan file tersebut ke
pemakai lainnya, dapat digunakan perintah chown. o Group (group)
Beberapa pemakai dapat di kelompokkan ke dalam sebuah
group. File atau direktori yang mempunyai kepemilikan
ini mengakibatkan hanya pemakai anggota group yang
dapat mengakses.

o Orang lain (others)
Seluruh pemakai sistem adalah termasuk jenis ini.
File atau direktori yang mempunyai kepemilikan ini
mengakibatkan semua orang dapat mengaksesnya.

Masing-masing dapat memiliki mode perijinan akses
terhadap file atau direktori sebagai berikut:

o Ijin baca (r)
Pemakai yang memiliki ijin baca terhadap sebuah file
dapat melihat isi dari file tersebut.

Pemakai yang memiliki ijin baca terhadap sebuah
direktori dapat melihat isi file apa saja yang berada
di dalam direktori tersebut. Namun untuk melihat isi
file dari direktori dengan informasi detail (ls -l)
harus diperlukan ijin eksekusi bagi pemakai terhadap
direktori tersebut. Namun demikian, untuk melihat
isi file dari file yang terdapat di dalam direktori
tersebut, pemakai harus memiliki ijin baca dari file
yang bersangkutan.

o Ijin tulis(w)
Pemakai yang memiliki ijin tulis terhadap sebuah file
dapat mengubah isi file tersebut

Pemakai yang memiliki ijin tulis terhadap sebuah
direktori dapat mengubah isi direktori, sehingga
pemakai dapat membuat file baru atau menghapus file-
file. Namun demikian untuk mengubah file-file yang
terdapat di dalam direktori tersebut, pemakai harus
memiliki ijin tulis dari file yang bersangkutan.

o Ijin eksekusi (x)
Pemakai yang memiliki ijin eksekusi terhadap sebuah
file dapat mengeksekusi file tersebut.

Pemakai yang memiliki ijin eksekusi terhadap sebuah
direktori dapat mengubah direktori tersebut dan
melakukan pengkopian file-file dari direktori
tersebut.

Dengan kombinasi tiga jenis mode perijinan terhadap
tiga jenis pemakai, kita dapat memiliki sembilan set
perijinan yang dapat memproteksi file atau direktori yang
kita miliki.

– ijin baca bagi pemilik
– ijin tulis bagi pemilik
– ijin eksekusi bagi pemilik
– ijin baca bagi group
– ijin tulis bagi group
– ijin eksekusi bagi group
– ijin baca bagi orang lain
– ijin tulis bagi orang lain
– ijin eksekusi bagi orang lain

Kesembilan mode perijinan tersebut biasanya ditulis
sebagai berikut:

rwxrwxrwx

– tiga huruf pertama menunjukkan ijin bagi pemilik
– tiga huruf kedua menunjukkan ijin bagi group
– tiga huruf ketiga menunjukkan ijin bagi orang lain

Untuk melihat mode perijinan file dan direktori,
gunakan perintah ls -l.

$ ls -l
total 6
drwxr-xr-x 2 guest guest 1216 Nov 25 10:42 asli
-rwx—— 1 root root 290 May 16 10:11 coba
drwxr-xr-x 2 root root 32 Apr 10 19:41 lib
$

Kolom pertama pada baris ke dua dan selanjutnya,
menyatakan mode perijinannya. Khusus karakter pertama pada
mode perijinan tersebut menunjukkan jenis filenya. Karakter
pertama ‘-‘ menunjukkan bahwa file tersebut adalah file
biasa. Sedangkan karakter ‘d’ menunjukkan bahwa jenis file
tersebut adalah direktori. Disamping itu terdapat pula ‘c’
dan ‘b’ yang menunjukkan bahwa jenis file tersebut adalah
file khusus, ‘c’ untuk file khusus jenis karakter dan ‘b’
untuk file khusus jenis blok.
Karakter selanjutnya dari mode perijinan menyatakan
mode perijinan sesungguhnya seperti yang diuraikan di atas.
Untuk melakukan proteksi terhadap file atau direktori,
gantilah perijinan rwx dengan ‘-‘. Perhatikan contoh berikut
yang menyatakan mode file read-only

-r–r–r–

File yang memiliki mode seperti diatas hanya dapat
dibaca oleh pemilik, group atau orang lain. File ini
diproteksi terhadap upaya penulisan atau pengeksekusian oleh
pemakai.
Dengan adanya mode perijinan ini berarti kita dapat
melindungi file dan direktori kita dari gangguan orang yang
tidak kita hendaki. Contoh:

-rwx——

File yang memiliki proteksi seperti di atas tidak dapat
dibaca, ditulis dan dieksekusi oleh orang lain kecuali
pemiliknya sendiri.
Namun harus diingat bahwa proteksi ini semua tidak
berlaku bagi root atau superuser. Mereka dapat menembus
proteksi karena mereka penguasa dan pengatur sistem.

3.13.2 Mengubah Perijinan dengan chmod

Perintah chmod dapat mengubah mode perijinan file atau
direktori. Mode perijinan tersebut dapat diubah hanya oleh
pemiliknya sendiri atau oleh superuser. Format umum perintah
chmod adalah:

chmod modefile file

Untuk mengubah mode perijinan, perintah chmod memiliki
dua cara representasi bagi argumen modefile yaitu:

– nilai absolut berupa bilangan oktal
– mode simbolik

Pengubahan mode perijinan file dengan menggunakan nilai
absolut mengharuskan pemakai mengenal bilangan binary.
Perhatikan tabel binary berikut ini.

——————–
Binary Oktal
——————–
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
——————–

Setiap pemberian satu ijin dari sembilan perijinan yang
digunakan akan dinyatakan dengan bilangan satu dan jika
tidak diijinkan akan dinyatakan dengan bilangan nol. Dari
bilangan binary ini dapat dinyatakan sebagai bilangan oktal
bagi pemakai yaitu pemilik, group dan orang lain. Perhatikan
contoh berikut ini.

rw-r–r– mode perijinan file

110100100 bilangan binary
| || || |
| || || |
v v v
| | |
6 4 4 bilangan oktal

Teknik lain untuk mempermudah menemukan bilangan bagi
mode perijinan dengan cara ini adalah menggunakan diagram
berikut ini:

pemilik group orang lain
r w x r w x r w x
| | | | | | | | |
400 ——+ | | | | | | | |
200 ——–+ | | | | | | |
100 ———-+ | | | | | |
| | | | | |
40 —————-+ | | | | |
20 ——————+ | | | |
10 ——————–+ | | |
| | |
4 ————————–+ | |
2 —————————-+ |
1 ——————————+

Dengan demikian untuk perijinan rw-r–r– dapat
dinyatakan sebagai berikut:

400
200
40
4

644

Selanjutnya, penggunaan dari perintah chmod tersebut
adalah sebagai berikut:

$ chmod 644 bab1 bab2 bab3
$ ls -l bab1 bab2 bab3
-rw-r–r– 1 denny mhs 280 Apr 22 10:22 bab1
-rw-r–r– 1 denny mhs 164 Apr 22 10:22 bab2
-rw-r–r– 1 denny mhs 380 Apr 22 10:22 bab3
$

Jika kita mencoba mengubah mode perijinan file dan file
tersebut ternyata tidak ada maka akan ditampilkan pesan
sebagai berikut:

$ chmod 777 takada
chmod: can’t access takada
$

Jika kita mencoba mengubah mode perijinan file dan file
tersebut bukan milik kita maka akan ditampilkan pesan
sebagai berikut:

$ chmod 777 /etc/passwd
chmod: can’t change /etc/passwd
$

Kesalahan lain yang sering terjadi adalah tertukarnya
letak argumen dari perintah chmod. Jika hal ini terjadi maka
akan ditampilkan pesan sebagai berikut:

$ chmod bab1 777
chmod: invalid mode
$

Cara kedua dengan menggunakan mode simbolik. Pilihan
mode simbolik yang dapat digunakan antara lain:

—————————————–
Simbol Arti
—————————————–
u ijin bagi pemilik
g ijin bagi group
o ijin bagi orang lain
a ijin bagi semua pemakai
= pasang nilai perijinannya
+ memberi perijinan
– hapus perijinan
—————————————–

Jenis perijinannya adalah baca ‘r’, tulis ‘w’ dan
eksekusi ‘x’.
Hal yang harus diingat adalah bahwa argumen modefile
pada perintah chmod harus merupakan satu kesatuan argumen.
Artinya jika diinginkan lebih dari satu perubahan mode
perijinan, maka antara satu modefile dengan lainnya harus
dipisahkan dengan koma dan tidak dibolehkan menggunakan
spasi. Perhatikan contoh berikut:

$ ls -l
total 3
-r——– 1 denny mhs 280 Apr 22 10:22 bab1
-r——– 1 denny mhs 164 Apr 22 10:22 bab2
-r——– 1 denny mhs 380 Apr 22 10:22 bab3
$ chmod u=rw,go=r bab1 bab2 bab3
-rw-r–r– 1 denny mhs 280 Apr 22 10:22 bab1
-rw-r–r– 1 denny mhs 164 Apr 22 10:22 bab2
-rw-r–r– 1 denny mhs 380 Apr 22 10:22 bab3
$

Mode simbolik pertama mengalokasikan ijin baca dan
tulis bagi pemilik file tersebut. Mode simbolik
kedua mengalokasikan ijin baca group dan orang lain. Cara
berikut akan menghasilkan mode yang sama dengan operasi
chmod sebelumnya.

$ chmod a=r,u+w bab1 bab2 bab3
$

Jika mode perijinan file ternyata dapat dibaca, dapat
ditulis dan dapat dieksekusi oleh semua pemakai sebagai
berikut:

$ ls -l
total 3
-rwxrwxrwx 1 denny mhs 280 Apr 22 10:22 bab1
-rwxrwxrwx 1 denny mhs 164 Apr 22 10:22 bab2
-rwxrwxrwx 1 denny mhs 380 Apr 22 10:22 bab3
$

maka kita dapat menghapus perijinannya, misalnya
menghapus ijin tulis bagi semua pemakai.

$ chmod a-w bab1 bab2 bab3
$ ls -l
total 3
-r-xr-xr-x 1 denny mhs 280 Apr 22 10:22 bab1
-r-xr-xr-x 1 denny mhs 164 Apr 22 10:22 bab2
-r-xr-xr-x 1 denny mhs 380 Apr 22 10:22 bab3
$

Untuk mendapatkan hasil seperti di atas, kita dapat
pula tidak menyebutkan mode simbolik a seperti di atas

$ chmod -w bab1 bab2 bab3
$

Mode perijinan yang digunakan di atas adalah mode
perijinan yang biasa dilakukan oleh pemakai biasa. Masih ada
beberapa mode perijinan lainnya yang pada umumnya digunakan
oleh administrator sistem atau superuser.

3.13.3 Mode Perijinan Awal

Mode perijinan awal adalah mode perijinan yang
diberikan pada file atau direktori yang baru diciptakan atau
dibuat. Mode perijinan awal ini dikontrol oleh apa yang
disebut user mask dan disingkat umask. Kita dapat melihat
nilai standar mode perijinan awal dengan memanggil perintah
umask tanpa diikuti argumen apapun.

$ umask
0000
$

Artinya bahwa ketika file pertama kali dibuat, nilai
standar mode perijinannya adalah rw-rw-rw- atau 666,
sedangkan bagi direktori, nilai standar mode perijinannya
adalah rwxrwxrwx atau 777. Nilai ini merupakan nilai standar
yang diberikan oleh sistem. Nilai standar mode perijinan ini
dapat diubah dengan menggunakan perintah umask dan diikuti
argumen. Nilai dari argumen dapat dihitung dengan cara
mengurangkan nilai standar awal mode perijinan dengan mode
perijinan yang diinginkan. Misalnya kita ingin nilai standar
mode perijinan awal yang baru adalah rw-r–r– atau 644.

666 (nilai standar mode perijinan awal)
644 (nilai standar mode perijinan yang diinginkan)
— –
022 (nilai umask baru)

Dengan demikian kita dapat mengubah nilai standar mode
perijinan awal dengan cara:

$ umask 022
$

Sekarang file-file yang baru dibuat akan otomatis
memiliki mode perijinan awal rw-r–r–. Sementara itu mode
perijinan awal direktori akan otomatis bernilai rwxr-xr-x.
Nilai ini didapat dari mengurangkan nilai standar mode
perijinan awal dengan nilai umask saat itu.

777 (nilai default mode perijinan awal)
022 (nilai umask)
— –
755 (nilai default mode perijinan awal baru)

Dengan demikian harus diatur sedemikian sehingga
terdapat kesesuaian seperti yang diharapkan antara mode
perijinan awal bagi file dan direktori.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: