Kamis, 18 September 2014

Tutorial CHMOD Pada Linux dan Pengertian nya (Change Mode)



Pernah mendengar kata CHMOD? Saya juga baru tau apa ituCHMOD. Bagi pengguna sistem operasi Linux dan seorangweb 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 :)  ).CHMOD inilah yang menjaga keamanan dari suatu data, jika ada user nakal yang berusaha untuk mengakses, mengubah, bahkan membaca data yang bukan haknya.

Ok, Langsung aja . .. 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)


Jadi jika semuanya dijumlahkan menjadi 7, yang berarti suatu user mempunyai hak penuh akan data atau folder (direktori) tersebut. Suatu data dapat diakses oleh 3 user, yaitu root (pemilik data), user group, dan user non-group. Berikut contohnya :

Contoh CHMOD : 
Chmod 753, berarti :

  • 7 = 4+2+1 : root (pemilik file) mempunyai hak untuk mengeksekusi (1), menulis (2), dan membaca (4) suatu data atau direktori
  • 5 = 4+1 : user group mempunyai hak untuk membaca (4) dan mengeksekusi (1) suatu data atau direktori
  • 3 = 2+1 : user non group mempunyai hak untuk menulis (2) dan mengeksekusi suatu data atau direktori
Contoh Penggunaan CHMOD
Jika ingin mengubah hak akses dari suatu data atau direkori, dari hak akses 644 (setting default dari pihak hosting) menjadi 755 (agar dapat dibaca) berikut caranya :
chmod 755 [file_name]
chmod 755 index.php          (untuk file)
chmod 755 /web/images    (untuk folder/direktori)

Kalau ingin mengubah hak akses suatu folder yang di dalamnya ada banyak folder dan file, bisa menggunakan perintah berikut :

find [direktori] -type f -exec chmod 777 {} \;     (untuk file)
find [direktori] -type d -exec chmod 777 {} \;    (untuk folder / direktori)

CONTOH :

find /home/gathel/htdocs-linux -type f -exec chmod 777 {} \;     (untuk file)
find /home/gathel/htdocs-linux -type d -exec chmod 777 {} \;    (untuk folder / direktori)

1) CHOWN (Change Ownership)
CHOWN merupakan sebuah perintah yang digunakan untuk mengganti pemilik dari sebuah file, perintah CHOWN ini hanya dapat digunakan oleh root / super user.

A) Perintahnya :
# chown namauser.namagrup namafile

B) Contoh:
# ls -l /home/gery/data
total 4
-rw-r--r-- 1 gery gery 15 Oct 01:46 coba.txt
Perintah diatas menghasilkan informasi dari file data yang berada di direktori /home/gery dimana pemiliknya adalah user gery. Untuk merubah kepemilikannya gunakan perintah :
# chown saya /home/gery/data
Jika kita ingin melihat perubahannya gunakan perintah :
# ls -l /home/gery/data
-rw-r--r-- 1 saya gery 15 Oct 01:46 coba.txt

C) Macam-macam perintah CHOWN
# chown root /var/run/httpd.pid
Mengubah kepemilikan /var/run/httpd.pid ke root (standart nama untuk superuser)
# chown rob:developers strace.log
Mengubah kepemilikan dari strace.log ke rob dan group diidentifikasikan ke pengembangan
# chown nobody:nogroup /tmp /var/tmp
• Mengubah kepemilikan /tmp and /var/ ke bukan siapapun
• Mengubah group /tmp and /var/tmp ke bukan group
# chown :512 /home
Mengubah group yang diidentifikasi di /home ke 512 (dengan mengabaikan apakah nama group berasosiasi dengan identifier 512 atau tidak)
# chown -R us base
Mengubah kepemilikan base ke user us dan membuat ini berulan.


2) CHMOD (Change Mode)
Chmod merupakan sebuah perintah yang digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori, dapat juga menggunakan sistem numeric coding atau sistem letter coding.

Ada tiga jenis permisi atau perijinan yang dapat dirubah :
-r untuk read.
-w untuk write.
-x untuk execute.


Berikut adalah keterangan numeric dari sebuah permision file :
0 = tidak ada operasi diijinkan.
1 = permisi untuk melakukan cd (pindah direktori) ke satu direktori.
2 = permisi untuk menulis.
4 = permisi untuk membaca.


Berikut angka-aangka dari file permissions :
0 = --- 4 = r—
1 = --x 5 = r-x
2 = -w- 6 = rw-
3 = -wx 7 = rwx


Dengan menggunakan “letter coding”, kita dapat merubah permission untuk masing-masing u (user), g (group), o (other) dan a (all) dengan hanya memberi tanda plus (+) untuk menambah ijin dan tanda minus (-) untuk mencabut ijin. Dengan menggunakan sitem “numeric coding”, permission untuk user, group dan other ditentukan dengan menggunakan kombinasi angka-angka 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute).
Untuk menggunakan perintah chmod, perintahnya adalah:
# chmod hakakses namafile
misalnya: # chmod 644 coba.txt
Perintah tersebut akan mengubah hak akses file coba.txt menjadi seperti berikut:
-rw-r--r-- 1 postgres postgres 41527 Oct 28 2010 coba.txt
Untuk mengganti hak akses sebuah direktori beserta dengan isinya, gunakan parameter R, dengan parameter tersebut, chmod akan dijalankan secara rekursif, misalnya seluruh file yang ada pada direktori /home/user/public_html akan dirubah hak aksesnya menjadi 755
maka perintahnya adalah sebagai berikut: # chmod R 755 /home/user/public_html


3) CHROOT (Change Root)
Chroot merupakan metode root direktori (/) virtual yang akan menjadikan home direktori dari suatu user seperti root (/) di sistemnya sendiri sehingga mencegah user tersebut dapat naik ke level direktori yang lebih tinggi dan mengambil informasi dari sistem tersebut.
Dengan chroot kita dapat membatasi ruang lingkup (direktori) user/daemon atau di penjarakan, ini dilakukan untuk memperkuat keamanan sistem. Jika suatu user/daemon yang di chroot maka dia tidak akan bisa keluar dari direktori (home directory) yang telah di tetapkan, hal ini sangat bermanfaat misal user/daemon yang di jaili (chroot) telah diambil alih oleh penyusup maka dia tidak akan bisa keluar dari direktory tersebut dan akan mengurangi resiko pencurian data, tidak akan menggangu user lain atau kinerja sistem secara keseluruhan tapi hanya sebagian saja. Oleh karena itu untuk melakukan chroot harus menetukan environment dan permission yang tepat untuk user/daemon yang akan di jail.
Contoh penerapan chroot :
Membuat user, group dan direktori untuk chroot BIND
Setelah instalasi selesai tanpa error berikutnya membuat group dan user named untuk menjalankan bind (daemon).
# groupadd named
# useradd -g named -g /chroot/named -s /bin/true named

kemudian kunci user named
# passwd -l named

membuat direktori untuk memenjarakan user named
# mkdir -p /chroot/named
opsi -p digunakan agar sekaligus membuat parent direktorinya(/chroot), kemudian masuk ke direktori yang baru dibuat
membuat direktori yang diperlukan dibawah direktori /chroot/named
# cd /chroot/named
# mkdir dev
# mkdir etc
# mkdir -p var/run
# mkdir conf/secondaries

Jadi pada intinya, penerapan chroot harus didahului membuat user, group dan direktori baru.

0 komentar:

Posting Komentar