Membongkar chmod 777 Menggunakan Ruby

Pengguna sistem operasi linux seharusnya (dan harus) pernah melihat string aneh berbentuk -rw-rw-r-- yang muncul saat kita menjalankan perintah ls -l. Kalau kamu tidak paham maksud dari string tersebut masih bisalah dimaklumi tetapi kalau tidak pernah melihatnya sama sekali berarti harus dipertanyakan statusnya sebagai linuxer nih ?.

Oke Mas saya ingin paham itu string buat apaan?

String tersebut digunakan sebagai informasi hak akses apa yang diberikan kepada 3 buah golongan. Golongan tersebut adalah owner, group, dan other.

Owner artinya sudah jelas yaitu si pemilik file yang bersangkutan. Group adalah grup yang di-assign ke file tersebut. Dan terakhir other, siapa saja selain yang kedua tadi.

Bagaimana cara membacanya?

Karakter pertama menandakan tipe dari benda yang bersangkutan.

- menandakan benda tersebut adalah sebuah file dan jika berupa d maka ia adalah folder atau direktori.

3 karakter setelahnya adalah hak akses yang diberikan kepada owner, 3 karakter selanjutnya lagi hak akses untuk group dan 3 terakhir untuk other. 3 karakter ini selalu berurutan r, w, x.

Penjelasan dari masing-masing 3 karakter bisa disimak sebagai berikut
r adalah read
w adalah write
x adalah execute
- adalah tidak memiliki akses untuk posisi yang bersangkutan

Dengan begitu kita bisa membaca sebuah permission di bawah ini sebagai berikut :

Sebuah file yang pemiliknya punya akses untuk read dan write (tidak untuk execute), grup punya akses untuk read dan write (tidak untuk execute) dan sisanya hanya bisa read.

Oh iya bagaimana kita tahu siapa pemilik dan grup yang di-assign ke file yang bersangkutan?. Cek gambar di bawah ini pada bagian yang saya kotaki merah. Cek juga pada warna lain yang menandai permission untuk ke-3 golongan.

Ruby in Action

Apa yang saya jelaskan sedikit soal permission pada linux di atas hanyalah sebuah intro yang saya gunakan supaya pembaca tulisan ini bisa paham dengan apa yang sebenarnya ingin saya sampaikan yaitu membongkar linux permission di Ruby.

Karena kita semua sudah paham cara membacanya maka sekarang kita bisa beralih ke Ruby.

Hak akses ini sifatnya tidak final, kita bisa mengubahnya. Bagaimana cara mengubahnya?

Untuk lebih detail soal permission di Linux ini akan saya bahas pada tulisan selanjutnya. Tulisan ini hanya saya tujukan sebagai pengenalan awal dan juga memanfaatkan Ruby untuk bekerja dengan permission.

Cara yang sering digunakan adalah menggunakan perintah

Bilangan octal ini adalah bilangan basis 8 yang didapat dari mengubah bilangan biner (basis 2) hak akses ke basis 8.

Hayo ngaku sekarang siapa yang pernah melakukan chmod 777 tanpa tahu apa maksudnya? ?

777 maksudnya apa ya?

Seperti saya bilang, bilangan octal yang digunakan pada perintah chmod didapat dari mengubah representasi biner hak akses ke octal. Artinya kita harus tahu bagaimana mengubah bentuk hak akses dari string ke biner. Bagaimana caranya?

Tinggal ganti dengan antara 1 atau 0. 0 hanya dipakai kalau tidak memiliki hak akses, artinya -.

Clear?

Sekarang kalau sudah tahu binernya berarti kita bisa tahu octalnya. Dulu jaman kuliah diajari bagaimana cara melakukan konversinya tetapi sekarang campuran lupa dan malas hahaa.

Oleh karena itu, kita gunakan Ruby untuk membantu.

Mari kita pakai contoh ini untuk memahaminya

Biner dari permission di atas adalah

Pakai Ruby dong buat mengubahnya ke octal

Nah akhirnya muncul juga tuh angkanya.

Sekarang dibalik, 777 itu maksudnya apa?

Wow, ternyata 777 itu kita ngasih full akses ke siapa saja ?

Cara seperti ini berguna jika kita ingin mengubah hak akses menggunakan octal tetapi kita terlalu malas untuk merepresentasikan hak askes ke sistem octal secara manual.

Karena sistem biner lebih mudah bagi kita kenapa tidak kita gunakan biner saja terus diubah ke octal dengan bantuan Ruby?.

Biner yang baru adalah 110100100. Berarti octalnya adalah

Dari situ bisa dong tinggal kita lakukan chmod 644.

Semoga membantu untuk sedikit memahami permission yang ada di linux.

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

Leave a Reply

Your email address will not be published. Required fields are marked *