在Php中執行外部命令的權限問題(轉)

在Linux環境中,apache是以apache用戶的身份(或者nobody)來運行的,因此不少的外部程序,沒有相應的權限。直接sudo的話,須要輸入密碼,因此必須將apache(或者nobody)加入到sudo裏面的nopassword的列表裏面。具體的作法以下: visudo(不要本身去修改sudoers文件,這樣有可能改錯,visudo會幫助糾正錯誤) 在裏面補充: %nobody ALL=NOPASSWD:/bin/rar %apache ALL=NOPASSWD:/bin/rar 那麼就能夠執行/bin/rar指令了,若是不補充NOPASSWD參數,那麼會出現以下的提示信息(這些提示信息會出如今console裏面,固然前提是你修改了/etc/passwd裏面的apache(nobody)的login shell爲bash以後,su apache過去,纔可能見到的): We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:     #1) Respect the privacy of others.     #2) Think before you type.     #3) With great power comes great responsibility. Password:
相關文章
相關標籤/搜索