[php] exec fungsi sistem
hemm gw kali ini mau coba executing fungsi system dari linux di code php, tapi udah nyoba nyoba gak bisa, ternyata harus ada permission khusus buat akses nya, karena php berjalan dibawah apache2 maka apache harus punya akses ROOT supaya bisa memakai fungsi system yang kita mau, gw kasih contoh gmn kita jalanin /sbin/initctl pake php
kita cari user yang ngejalanin apache2, banyak buat kasus di gw user yang ngejalanin apache2 yaitu ‘www-data’ cari nya pake htop
htop ialah aplikasi turunan top yang lebih fungsional, terjejer rapih dan ada scroll nya beda sama bapak nya yaitu top
root@bt:/# apt-get install htop
cari yang jalanin apache2 nya, kalo udah dapet edit /etc/sudoers inget editnya pake visudo
root@bt:/# visudo
tambahin baris berikut
user ALL=(root)NOPASSWD: /path/ke/aplikasi
jadi kalo usernya ‘www-data’ lalu aplikasi nya initctl jadi nya gini
www-data ALL=(root)NOPASSWD: /sbin/initctl
sett kayak gini bikin apache2 bakal jalanin initctl dengan akses root dan tanpa password, nah sekarang kita coba deh
<?php
$exec = exec('/usr/bin/sudo /sbin/initctl start crond');
echo '<pre>'.$exec.'</pre>';
?>
#-#########
# output
crond (start) running, process 20131
# end output
#-#########
ok deh buat manual baca baca tentang sudoers bisa buka google aja yak
Good Luck! ;p
