Php

授予 php sudo 訪問權限

  • September 2, 2010

我正在嘗試授予 php sudo 訪問權限(用於自動共享掛載)。通過將守護程序添加到 sudo 的列表中,我成功地在我的一個系統上授予 php sudo 訪問權限

su --login -c 'visudo'

所以現在它包含如下守護程序:

daemon  ALL=(ALL)  NOPASSWD: ALL

但是當我嘗試執行一個簡單的 php 腳本時:

<?php
echo "\nfirst: ";
echo shell_exec("whoami");
echo "\nsecond: ";
echo shell_exec("sudo ls");
?>

我得到結果:

first: daemon
second:

那是任何時候我在命令中使用 shell_exec 和 sudo 都不會返回或興奮。如何授予 php sudo 訪問權限。

檢查您的網路伺服器錯誤日誌…我敢打賭您會收到如下錯誤:

# tail -1 /var/log/httpd/error_log
sudo: sorry, you must have a tty to run sudo

如果是這種情況,請嘗試修改您的 sudoers 文件並更改/刪除 requiretty 行:

# grep requiretty /etc/sudoers
Defaults    requiretty

另一方面,如果您只是想自動掛載和共享某些東西,那麼 autofs/automount 可能值得研究。

引用自:https://serverfault.com/questions/177457