Pernah mendengar kata CHMOD? Saya juga baru tau apa itu CHMOD. Bagi pengguna sistem operasi Linux dan seorang web developper, mungkin kata tersebut sudah tidak asing lagi. CHMOD adalah kepanjangan dari Change Mode, sebuah perintah untuk memberi hak akses/permisions kepada pemilik, user biasa, dan non user (ini pengertian versi saya :D). CHMOD inilah yang menjaga keamanan dari suatu data, jika ada user nakal yang berusaha untuk mengakses, mengubah, bahkan membaca data yang bukan haknya. Show
Cerita sedikit nie, dulu si CHMOD ini juga pernah membuat saya kelimpungan setengah mati :D. Karena saya tidak bisa mengupload sebuah file gambar melalui web kelas yang saya buat sendiri. Saya kira source kode PHP nya yang salah, sampai-sampai saya rombak abis-abisan kembali semua source kodenya. Ternyata bukan itu masalahnya. Saya pun mencoba untuk bertanya ke teman-teman kelas, tapi tak satupun ada yang tau. Yaw, beginilah nasib menjadi seorang newbie :(. Akhirnya, terjawab juga melalui sebuah forum, yang saya lupa namanya :D. Ternyata permasalahannya berada pada hak akses folder tempat penyimpanan gambar yang ingin saya tuju. Pihak hosting memberi hak akses hanya untuk mengeksekusi folder tersebut. Pantas saja file gambarnya gak bisa disimpan di folder tersebut. Nah, sekarang saya mau berbagai sedikit nie tentang tutorial CHMOD dan cara penggunaannya. Hak akses suatu data, disimbolkan dengan angka. 0 = Tidak ada hak akses 1 = Hak akses untuk masuk dan mengeksekusi suatu data atau folder (direktori) 2 = Hak akses untuk menulis/mengubah suatu data atau folder (direktori) 4 = Hak akses untuk membaca suatu data atau folder (direktori) Saat kamu menggunakan linux, akan sangat penting kamu memahami dan bisa mengatur hal perizinan file yang ada di linux. Linux punya peraturan yang ketat akan hak akses,jangan sampai kamu tidak bisa mengakses file menggunakan user biasa(bukan root) karena belum diatur hak aksesnya. Hak akses suatu file bisa kamu lihat dengan mengecek attribut file tersebut menggunakan perintah linux. Konsep Hak Akses File Di LinuxSetiap file dan folder di linux punya atribut yang menentukan akses untuk user ataupun group di sistem tersebut. Inilah salah satu alasan kenapa linux sangat aman,karena sebuah file bisa diset agar hanya bisa diakses /dimodifikasi oleh user dan group tertentu. 3 Atribut Akses pada File dan FolderSetiap file pada linux mempunyai 3 attribute yang menjelaskan hak akses user dan group terhadap file tersebut, yaitu:
Hak akses disini berupa hak akses untuk :
Hak akses ini sering dikenal dengan atribut R-W-X Contoh Penggunaan Atribut Pada File di LinuxPerhatikan output perintah $ ls -l /opt/vnc dibawah ini Attribut file pada linux yang menjelaskan hak akses user terhadap file tersebut ditulis secara berurutan yaitu RWX untuk masing-masing segmen. Ada 3 segmen atribut untuk setiap file dan folder di linux yaitu :
Lalu kenapa ada tanda – (minus) di segmen tertentu?Tanda minus atau strip (-) merupakan indikasi kalau ada permission yang tidak diterapkan/berikan untuk user,group atau other. Misalnya pada segmen B (group permission)dengan permission R-X (W nya gak ada) itu artinya user yang tergabung dalam group ‘users'[D] hanya bisa membaca(read) dan menjalankan file(executable) ”VNC-Viewer-6.0.1-Linux-x64″ dan tidak bisa mengedit,menghapus dan memodifikasi (write) D merupakan user/owner file dan permission nya menggunakan segmen A , sedangkan E merupakan group dan permission nya menggunakan segmen B. Cara Membaca Hak akses File Di Linux(File Permission)Saya akan jelaskan lebih detail tentang hak akses atau file permission di linux disini. Pada Unix Like OS (termasuk Linux dan MacOS) setiap file mempunyai 3 attribut yang menerangkan akan hak akses ke file tersebut yaitu :
Cara Mengecek Hak Akses File Via Terminalntuk melihat file permission kamu bisa menggunakan perintah $ ls -l dan hasilnya akan terlihat seperti dibawah ini : mengecek hak akses file di linuxKeterangan : Sampai disini kamu sudah paham kalau hak akses file di linux dibagi menjadi 3 segemen (owner,group,other) ditujukan dengan angka 2,3,4 di gambar atas. Arti Digit Pertama Pada Attrribute file (nomer 2)mengecek hak akses file di linuxDigit pertama (pada kolom nomer 2) merupakan attribute advanced/special permission yang bisa salah satu dari attribut dibawah ini _ – File biasa tanpa advancedpermisison d – Directory/folder l – Sysmbolic link dari file atau directory s/g – Menandakan setuid/setgid permissions. digunakan untuk menberitahu system agar file executable dijalankan menggunakan user owner /group owner permission ketika dijalankan user lain. t – Indikasi dari sticky bit permissions. attribut ini biasanya diletakan di digit akhir (hasil tampilan ari perintah $ ls -l), attribut sticky bertujuan untuk mencegah penghapusan file oleh user lain yang mempunyai read-write access terhadap file tersebut (*file /directory) S /T/G dengan huruf besar menandakan bahwa file tidak diberi atribut permission x sedangkan s/t dengan huruf kecil menandakan file diberi atribut permission x Membaca Atribut File (Nomer 2,3,4)mengecek hak akses file di linuxKolom pertama yang perlu diperhatikan, kolom pertama dibagi menjadi 3 seksi (nomer 2–3–4) kolom inilah yang merupakan attribut permission dari sebuah file. Setiap section terdiri dari 3 digit attribut yang bisa diisi dengan rwx 3 Permission dasar pada linux – Permission untuk Memodifikasi file(Write – W) ,Membaca file (Read- R) dan mengeksekusi/menjalankan (execute – X) jika file tersebut berbentuk binnary. Tanda – pada attribut menandakan file tersebut tidak mempunyai permission yang seharusnya ada pada kolom tersebut. Atribut permission sebuah file mempunyai urutan rwx jika file hanya mempunyai permission read maka menjadi r– permission ini dibagi menjadi 3 seksi seperti yang dijelaskan sebelum nya yaitu Owner,Group dan other (world). Mengubah Hak Akses File dengan CHMODUntuk merubah hak akses file/folder pada linux kamu bisa menggunakan perintah chmod Perintah chmod bisa kamu gunakan dengan 2 cara,yaitu :
Perintah untuk mengatur dan merubah hak akses/permission file dan folder di linux adalah $ sudo chmod permission Ubah Hak Akses File Dengan Binary ReferencesCara ini merupakan cara favorit yang digunakan oleh banyak user linux karena untuk mengeset permission owner,group dan other bisa dilakukan dengan simpel cukup memasukan 3 digit angka kepada chmod command. Setiap permission diwakili dengan angka dan setiap attribut (r/w/x) mempunyai nilai yang berbeda seperti dijabarkan dibawah ini : Contoh : # chmod 640 dokumen1 – yang artinya mengeset attribut permission file dengan nama dokumen1 sehingga:
Digit pertama mewakili permission untuk owner,digit kedua mewakili permission untuk group dan digit ketiga mewakili permission untuk other(world). Adapun nilai dari masing-masing attribut permission (rwx) adalah : r=4 (read /dibolehkan membaca file) untuk mengeset permission sesuai dengan yang kamu inginkan,kamu hanya perlu menjumlahkan total nilai dari permission yang ingin kamu gunakan. Contoh Cara Mengubah Hak Akases File Dengan Atribut angkaFile dengan nama dokumen1 ingin dirubah dengan permission -rw-r—– kamu hanya perlu memasukan 640 ke chmod command darimana asalnya angka 640? pertama – kita bagi attribut permission diatas menjadi 3 bagian yaitu owner permision,group dan other permission seperti dibawah ini kedua – kita jumlahkan nilai permission untuk setiap bagian(section) ketiga -tinggal kamu masukan ke chmod command angka 640 (# chmod 640 dokumen1)yang sama artinya dengan -rw-r—– ,read write untuk owner,read untuk group dan otheer tidak diberi permission apapun. Ubah Hak Akses File Dengan Symbolic/Hurufkamu juga bisa mengeset permission menggunakan symbol huruf ,walau caranya agak sedikit ribet karena saat pengesetan permission perlu dilakukan satu per satu baik untuk owner,group dan other. r – Read w – Write x – Execute Adapun simbol untuk mengeset permision yang kita maksud,kamu bisa gunakan simbol:
Tanda + (plus) dan – (minus) digunakan sebagai operator untuk meambahkan/mengaktifkan permission atau menghapus/mencabut permission. Contoh Cara Mengubah Hak Akses File Dengan Atribut Huruf/symbolickamu ingin mengeset permission sebuah file dengan nama dokumen.doc menjadi rwxr—–yang sebelum nya beratribut rwxrw-r– ,maka kamu hanya perlu mengubah permission group dan other karena owner permission nya masih sama. -Ubah group permision menjadi read only (r–) dengan menghapus permission write (w) menggunakan perintah # chmod g -w dokumen.doc -Ubah other permission menjadi nothing (—) dengan menghapus permission read (r) menggunakan perintah # chmod o -r dokumen.doc Gunakan tanda + jika kamu ingin menambahkan attribut dan tanda – jika ingin mencabut attribut. Ownership /Hak kepemilikan File Pada LinuxPenjelasan detail akan dibahas pada bab ini,jadi jangan melakukan quick reading agar kamu benar-benar paham karena ini sangat penting dan agak membingungkan khususnya bagi pemula. mengecek hak akses file di linuxPada contoh diatas terlihat semua file dan folder mempunyai owner dan group owner(6) yang sama yaitu user masarie sebagai owner dan group users sebagai group owner , dari informasi kotak nomer 6 pada gambar diatas bisa kita tafsirkan sebagai berikut : –Owner permission attribute (user masarie) berada di kotak nomer 2 yaitu pada digit 2-4 (rwx),digit pertama menerangkan jenis file (d untuk directory – untuk file biasa dan l untuk Link/shortcut) –Group permision (semua user yang berada di group users) berada di kotak nomer 3 yaitu digit ke 5-7 –Permision untuk other/world berada pada 3 digit terakhir di kotak nomer 4 ,yang artinya semua user selain user masarie dan semua user yang tidak masuk dalam group users menggunakan permission pada kotak nomer 4 yaitu digit 8-10 Root adalah dewa(kekuatan mutlak di linux) yang bisa melakukan apapun bahkan bisa mengakses file dengan permision 000 (———) ,jadi berhati-hatilah memberikan akses root kepada user (menggunakan sudo) Default Owner File/folder adalah User si PembuatSecara default owner/kepemilikan dari sebuah file adalah user dan group dari pembuat file tersebut. Namun adakalanya kita perlu meyesuaikan kepemilikan/ownner dari sebuah file untuk kepentingan konfigurasi lebih lanjut,misalnya sharing file dengan user lain atau saat penginstallan aplikasi /service. sebagai contoh jika kita membuat file dengan nama jajal menggunaan user masarie (masarie berada di group users) maka hak akses/permision untuk file yang baru kita buat dengan user tersebut akan terlihat seperti dibawah ini : [masarie@SparkFly ~]$ touch jajal [masarie@SparkFly ~]$ ls -l jajal -rw-r--r-- 1 masarie users 0 Jul 11 14:25 jajal [masarie@SparkFly ~]$pada contoh diatas kepemilikan/owner dari file tersebut adalah user masarie (permision read-write)dan permision untuk group dan world adalah read-only (r) Ownership/kepemilikan hanya bisa diubah oleh user root atau user yang berada di sudo list sedangkan permission hanya bisa diubah oleh owner dari file tersebut. Selain owner tidak bisa merubah permission walau user lain diberi permission rwx sekalipun. Mengubah Kepemilikan/Ownership Dengan CHOWNUntuk tujuan dan kasus tertentu yang menuntut agar sebuah file bisa diakses/dimodifikasi oleh group user tertentu maka kamu harus merubah hak kepemilikan file tersebut,terutama group owner. Untuk tujuan ini kamu bisa menggunakan perintah CHOWN format perintah merubah hak kepemilikan/ownership : $ sudo chown andi:users laporan.doc |