Salam Devilzc0de,
Berhubung masih banyak yang masih belum mengerti tentang hak akses pada Unix, ane mau share sedikit mengenai UNIX like file permission. (Linux, BSD, Macintosh, etc.)
Sebenernya ni tulisan udah lama, tp baru sekarang ane share dimari. Semoga kaga repost karena ane tadi sempet cari dan belom ada thread khusus yg membahas mengenai hak akses ini.
Note : Hanya untuk mereka yang baru memulai / harus / ingin mempelajari UNIX> Bagi temen2 yang sudah terbiasa menggunakan UNIX, membaca tulisan saya ini hanya buang-buang waktu.
Mungkin temen-temen pernah liat yg ky begini :
Code:
ditatompel@2nd-Heartbeat ~/codes/bot $ ls -lh
total 404K
drwxr-xr-x 2 ditatompel ditatompel 4.0K 2011-11-06 08:02 crayonbot
drwxr-xr-x 6 ditatompel ditatompel 4.0K 2011-11-10 23:32 devilzb0t
-rw-r--r-- 1 ditatompel ditatompel 1.2K 2011-10-06 14:09 emabot.py
-rw-r--r-- 1 ditatompel ditatompel 4.2K 2011-10-25 03:24 twc1.0.py
-rw------- 1 ditatompel ditatompel 3.7K 2011-10-26 03:28 webbot.py
Nah lo, Apaan tuh? om?
Tenang, itu cuma list isi sebuah folder, mari kita perhatian ouput ini :
Code:
drwxr-xr-x 2 ditatompel ditatompel 4.0K 2011-11-06 08:02 crayonbot
Sudah? Lihat pada spasinya. Di sana nampak ada 8 field!
Field 1 : drwxr-xr-x
Field 2 : 2 => sebuah angka yang menunjukan berapa user / group yang sedang mengeksekusi / mengakses file / folder tersebut.
Field 3 : ditatompel => menunjukan siapa yg memiliki file tersebut. ( Owner )
Field 4 : ditatompel => menunjukan siapa yg memiliki file tersebut. ( Group )
Field 5 : 4.0K => menunjukan besarnya file tersebut.
Field 6 dan 7 : 2011-11-06 08:02 =>adalah jam dan tanggal kapan terakhir kalinya file tersebut dimodifikasi.
dan terakhir : crayonbot => adalah nama file / folder itu sendiri.
Mari kita kupas yang field 1 lebih dalam, tapi jangan terlalu dalam...
Field 1 : drwxr-xr-x
Apa itu bro?
Itu yang namanya permission di sistem UNIX. Normalnya ada 10 digit.
Sekarang biar bacannya gampang, liat 'unyu2' di bwh ini yang 'sesuatu banget'
Code:
d rwx r-x r-x
| | | |
| | | +-- user lain permission
| | +------ group permission
| +---------- owner permission
+------------- tipe file -> (d) = directory / folder, (-) = file
Dengan penjelasan sebagai berikut :
r = Read -> boleh membaca
w = Write -> boleh memodifikasi
x = eXecute -> boleh mengeksekusi ( biasanya untuk aplikasi )
Jadi bisa disimpulkan bahwa kode drwxr-xr-x adalah :
Sebuah folder yang owner / pemilik boleh membuka, menulisi / mengubah / membuat file di dalam tersebut, sedangkan group dan user lain hanya boleh membaca dan mengeksekusi saja.
Kalau -rw-r--r-- ?
Berarti sebuah file yang user / pemilik file boleh membaca dan mengubah file, sedangkan yang lain hanya boleh membaca saja.
Trus kalau -rw------- ?
Berarti sebuah file yang user / pemilik file boleh membaca dan mengubah file, sedangkan user lain membaca file tersebut pun tidak diperkenankan.
Di sini sudah ngerti? Kalau udah, mari lanjut ke versi Binary dan Octal
UNIX Binary dan Octal File Permission
Pernah mengalami error / warning pada aplikasi website yg mengandung 'permission denied'?
lalu mencari solusinya di google dan banyak yang menyarankan ganti saja file permissionnya jadi 777?
Sekedar memberi tahu, permission 777 berarti anda memberikan hak kepada semua user untuk melihat, mengubah, dan mengeksekusi file / folder tersebut.
Sebelumnya jika belum bisa / belum tau bagaimana membaca binary, silahkan lihat di http://devilzc0de.org/forum/thread-12040.html
Code:
0: 000 => --- => 0
1: 001 => --x => 1
2: 010 => -w- => 2
3: 011 => -wx => 3
4: 100 => r-- => 4
5: 101 => r-x => 5
6: 110 => rw- => 6
7: 111 => rwx => 7
Sehingga :
Code:
0 --- tanpa permission
1 --x execute
2 -w- write
3 -wx write and execute
4 r-- read
5 r-x read and execute
6 rw- read and write
7 rwx read, write and execute
jadi jika anda mengubah file permission menjadi 777 maka -> drwxrwxrwx atau -rwxrwxrwx -> Damn sh17 happens and server bleed..
Untuk block file system ( karakter pertama ) sebenernya bukan cuma ( - ) sama ( d ) aja.. Ada yang lain juga seperti :
l => Symbolic link
c => Character special device
b => Block special device
p => FIFO
s => Socket
File system kek gini biasa banyak ditemui di directory /dev
Sedangkan untuk tipe file permiision selain - r w x ada juga access mode ( s ) sama stcky ( t ). nah untuk ( s ) bisa jd suid dan sgid.
Sekian dulu dari saya. Semoga berguna bagi teman2 yang baru mengenal Unix atau mungkin temen2 yang sedang memperdalam web hacking karena kebanyakan web server menggunakan Unix like OS.
Silahkan untuk teman2 lain yang ining memberi tambahan dan penjelasan lebih lengkap.
Terima kasih.
Killu4 Wrote:poke om Killu4 dan om starsz³ ;
Quote:l => Symbolic link
c => Character special device
b => Block special device
p => FIFO
s => Socket
Ada penjelasan lebih lanjut tentang yg ini ga om dita ?
Ane coba jelasin semampu dan setahu ane yah..
l => Symbolic link
Untuk symbolic link cara kerjanya mirip seperti shortcut. Jadi dia bisa bikin copy dari 1 file menjadi beberapa file ke direktori tertentu. Biasanya digunakan untuk konfigurasi aplikasi.
Contohnya bisa diliat dari gambar dibawah :
Jadi saat kita eksekusi file adminscan tersebut, maka secara tidak langsung kita mengeksekusi file /srv/http/devel/labs/admin-location-lookup-1.0.php
c => Character special device & b => Block special device
Untuk character special devices dan block special device biasanya merupakan file binary untuk driver / partisi / device tertentu. Misalnya usb modem / partisi yang ada pada harddisk.
p => FIFO ( First In First Out )
Salah satu fitur istimewa dari Unix. Dengan FIFO memungkinkan data ditransfer dari satu aplikasi ke aplikasi lainnya.
FIFO fungsinya sama seperti "pipe". ( simbol | )
Misalnya penggunaan grep, sort, less, dll
Code:
cat username.txt password.txt | grep admin | sort | less
Atau kalau ingin membuat contoh file FIFO bisa menggunakan command :
Code:
mkfifo namafile
Dari terminal itu coba jalankan perintah :
Code:
cat namafile
kemudian buka terminal lain, jalankan :
Code:
cat > namafile
lalu ketikan kata2 pada terminal tersebut. Maka terminal sebelumnya akan mengeluarkan output dari terminal 1 nya.
s => Socket
Sebuah file socket diciptakan oleh sistem ketika sebuah program melakukan 'bind' pada unix soket. Misalnya MySQL.
nah ane upload video di youtube, semoga lebih mudah memahami tentang FIFO dan socket.
sumber : devilzc0de