Pages

Thursday 13 October 2011

PERMISSION DENIED PADA SHELL

terkadang kita mengalami kata permission denied,padahal kita sudah berada di root
esan kesalahan ini muncul jika Anda dianggap tidak memiliki hak yang cukup untuk menjalankan program.

Beberapa program, terutama yang sifatnya setuid, diproteksi dari user atau group tertentu. Misalnya:

$ ls -l /bin/su -rwsr-x--- 1 root su-user     27000 2006-12-08 01:28 su 

Di sini terlihat bahwa hanya root dan anggota group "su-user" saja yang diizinkan mengakses /bin/su.

Kadang-kadang Anda mengalami program yang baru Anda kopi atau upload tidak bisa dieksekusi dengan pesan error permission denied ini. Umumnya ini karena permission file belum ada bit x (execute), contoh 0644 dan belum 0755:

$ ls -l ketuk -rw-r--r-- 1 steven steven 373 2007-05-05 06:42 ketuk 

Untuk menjalankan sebuah program, dibutuhkan bit x (execute) pada permission. Meskipun Anda root, kernel tetap akan menolak mengeksekusi sebuah program atau skrip yang tidak memiliki bit x.

Untuk memperbaiki masalah ini, berikan bit x pada program:

$ chmod +x ketuk $ ls -l ketuk -rwxr-xr-x 1 steven steven 373 2007-05-05 06:42 ketuk  

Catatan: jika programnya adalah sebuah skrip, maka Anda bisa juga memanggil skrip ini dengan diawali nama interpreter/bahasa pemrogramannya. Dengan cara ini, Anda tidak membutuhkan bit x pada si skrip melainkan cukup bit r (read) saja. Contoh, jika ketuk pada contoh di atas adalah skrip Perl:

$ perl ketuk

thanks to blog