Sunday, November 3, 2013
9:55 AM

Permission File di Unix/Linux

Hari ini saya akan sharing ilmu tentang hak akses pada UNIX/Linux. Ini saya buat sebagai pengetahuan dasar kepada user baru di UNIX/Linux. Di dalam UNIX/Linux, hak akses file ini lebih sederhana dibanding Windows, karena disini mengenal dengan namanya tiga jenis hak akses file, yaitu :
  1. Read (r) = Akun yg memiliki akses read ini bisa melihat isi suatu file. misalnya dengan perintah cat
  2. Write (w) = Akun ini memilik akses write, dengan kata lain bisa menulis ulang kembali suatu file ataupun menghapus file itu sendiri. Jadi jangan heran kalau file yang kita buat dengan membuat write kepada tiap group maupun other yg diberikan akses write akan terhapus. Maka berhati-hatilah memberikan hak akses ini.
  3. x(Execute) = Akun ini memiliki akses untuk execute suatu file (File yang dimaksudkan disini adalah program atau script)
Ok saya sudah mengenalkan tiga jenis hak akses itu seperti apa. Waktunya saya kasih contoh, kebetulan saya punya file dan ingin memperlihatkan hak aksesnya,

┌─[mardin@pycode]─[~]
└──╼ ls -l iseng
┌─[mardin@pycode]─[~]
└──╼ -rwxr--r--   1     mardin            users 70446 Oct 31 09:44 iseng
            |    |   |                 |                    |
            |    | Other          |                    |
            |    |             Users Own      Groups Own
            |    |__________________________|
            |                        
            |________________|

Saya akan jelaskan tentang file iseng :
  • User Own = Dari file ini adalah kepemilikannya user mardin, sebagai user owner, user mardin mempunyai hak aksesnya tersendiri. Dalam contoh yang saya berikan pada file iseng adalah rwx (read, write dan execute)
  • Group Owner = Dari file iseng ini mardin termasuk group users. Group Owner ini ditentukan sistem secara otomatis berdasarkan primary group dari akun yang membuat file tersebut yang tergabung dengan group user. Sebagai group users, maka jika ada akun yg ikut tergabung dengan group ini maka juga bisa melihat file ini dengan hak akses file r-- (read).
  • Other = Selain dari hak akses User dan Group, pada contoh yang saya berikan ada yang namanya hak akses "Others". Others disini itu adalah semua user yang berada di sistem, kecuali owner, group, dan user root. Dan dalam contoh ini pun sama memiliki hak akses yaitu akses read.
Bagaimana cara mengubah kepemilikan file ?
Adakalanya kita membutuhkan untuk mengubah kepemilikan file, jika sang user sudah tidak lagi menggunakan alias menghilang ke muka bumi atau didepak dari group, hehehe.... :p

Beberapa syntax yang saya gunakan untuk mengubah itu seperti ini contohnya :
┌─[root@pycode]─[/home/mardin/iseng/]
└──╼ ls -l
┌─[root@pycode]─[/home/mardin/iseng/]
└──╼ -rw------- 1 mardin users 70446 Oct 31 09:44 iseng
┌─[root@pycode]─[/home/mardin/iseng/]
└──╼ chown root iseng
┌─[root@pycode]─[/home/mardin/iseng/]
└──╼ chgrp root iseng

Penjelasan:
  • chown (Change Owner) = ini adalah untuk mengubah hak akses owner, saya ubah tadi itu menjadi root, sehingga user mardin tidak bisa melihatnya,
  • chgrp (Change Group) = ini sama seperti chown hanya saja mengubah group bukan user saja.
Anda juga bisa mengubah user owner dan group owner secara sekaligus melalui chown, seperti ini contohnya:
┌─[root@pycode]─[/home/mardin/iseng/]
└──╼ chown userownerbaru:groupownerbaru file_atau_direktori

Dan anda juga bisa mengubah hak akses secara keseluruhan isi dan hirarki directorinya menggunakan parameter -R (recursive) pada chown.

Mengubah Hak Akses File

Berikut ini adalah simbol singkatan yang dapat anda pakai untuk mengisi parameter permission yang akan digunakan :
u = user
g = group
o = other
a = all (user, group, others)
r = read
w = write
x = execute
- = hilangkan/kurangi
+ = set menjadi/tambahkan

pada contoh saya akan menghapus hak execute dari user, group dan other. Saya menggunakan parameter "a" untuk all. Lalu menambahkan kembali execute pada other, dan akan kita lihat apa efeknya jika dijalankan perintah iseng.

┌─[mardin@pycode]─[~]
└──╼ ls -l
-rwxr-xr-x 1 mardin users 70446 Oct 31 09:44 iseng

┌─[mardin@pycode]─[~]
└──╼  chmod a-x iseng

┌─[mardin@pycode]─[~]
└──╼ ./iseng
 bash: ./iseng: Permission denied

┌─[mardin@pycode]─[~]
└──╼ chmod o+x iseng

┌─[mardin@pycode]─[~]
└──╼ ls -l
-rw-r-xr-- 1 mardin users 70446 Oct 31 09:44 iseng

┌─[mardin@pycode]─[~]
└──╼ su udin
password:

┌─[udin@pycode]─[~]
└──╼ ./iseng
Selamat Datang Hacker Jonessss!!! :D
(Please Enter Untuk Masuk menu Shell exploit)

Perhatikan parameter yang saya buat yaitu yang pertama "a-x" dan yang kedua "g+x", yang pertama saya buat agar tidak bisa eksekusi program dan alhasil ada laporan denied dengan parameter tanda (-) untuk menghilangkan akses dan "a" untuk all akses. Lalu yang kedua saya menambahkan hak akses untuk others dengan parameter tanda (+) sehingga user udin bisa menjalankan script tersebut.

adapun menggunakan angka untuk mengatur hak akses dari suatu file, misalnya nih anda menginginkan akses read, write, dan execute(rwx) ke user owner, akses read dan write (rw) untuk group, lalu read (r--) untuk ke akun lain. Sebelum melangkah kesana saya akan memberikan pengertian tentang biner, ada yang tahu tentang bilang biner ? kalau belum tahu saya kasih tahu dah... hehe

Sistem bilangan biner adalah sistem penulisan angka dengan menggunakan dua simbol yaitu 0 dan 1. Dari sistem biner ini bisa dikonversikan ke bilangan Oktal atau hexadesimal. Dalam penggunaan angka ini, masing-masing komponen rwx menggunakan angka biner: bit 1 untuk menandakan aktif/on dan bit 0 menandakan tidak aktif/off.
Kebetulan pada rwx ini menggunakan bilangan oktal maka harus dikonversikan dari biner ke oktal. rwx itu ada 3 bit jadi harus konversikan 3 bit itu ke oktal. Ambil tiga digit terbelakang dahulu. seperti ini 010(2) = 2(8).
Pasti ada pertanyaan kenapa bisa hasil 2 ? karena biner itu berbasis 2. ini contohnya:
010=(0 x 22) + (1 x 21) + (0 x 2) => 2

ok langsung kebagian representasi hak akses dalam biner
rwx     Biner    Oktal
---  => 000 => 0
--x  => 001 => 1
-w-  => 010 => 2
-wx  => 011 => 3
r--  => 100 => 4
r-x  => 101 => 5
rw-  =>  110 => 6
rwx  => 111 => 7

Seperti yang saya bilang saya akan membuat hak akses untuk owner seperti ini rwx, lalu group rw- , dan terakhir other yaitu r--
User owner   = rwx =7
Group owner = rw- = 6
Other           = r--   = 4

Ini berarti saya harus membuat seperti rwxrw-r-- adalah dengan menulis bilangan oktal 764 pada perintah chmod, seperti ini:
┌─[mardin@pycode]─[~]
└──╼ ls -l
-rwxr-xr-x 1 mardin users 70446 Oct 31 09:44 iseng
┌─[mardin@pycode]─[~]
└──╼ chmod 764 iseng
┌─[mardin@pycode]─[~]
└──╼ ls -l
-rwxrw-r-- 1 mardin users 70446 Oct 31 09:44 iseng

Nah cukup sekian share ilmu dari saya tentang Permission file pada Unix/Linux, sebenernya saya ingin tulis lagi karena masih panjang bahasannya. hehehe... ^_^


Mardin

3 Novermber 2013

0 comments:

Post a Comment