我有一個腳本foo.php
,它負責操縱系統中的一些靜態文件。問題是,只有當我使用sudo
運行它時,它纔會起作用,否則會出現權限不足的錯誤。如何給予特定腳本的特殊權限?
這是因爲這些文件有CHMOD 644
。有沒有設置nginx
或其他方式來使用其他用戶(對於這個微妙的問題,最好是根)來執行這個特定的腳本?
我有一個腳本foo.php
,它負責操縱系統中的一些靜態文件。問題是,只有當我使用sudo
運行它時,它纔會起作用,否則會出現權限不足的錯誤。如何給予特定腳本的特殊權限?
這是因爲這些文件有CHMOD 644
。有沒有設置nginx
或其他方式來使用其他用戶(對於這個微妙的問題,最好是根)來執行這個特定的腳本?
設置腳本execute as owner:
chmod +s foo.php
這不是PHP腳本通常執行的方式(除非他們的CLI)。在這種情況下,因爲它來自Web服務器,所有者只是(低權限)Web進程。 – Rudu 2012-01-10 17:46:41
嘗試建立專門的PHP-FPM實例與根的權利,這將有助於只有你指定的腳本。把它放在chroot中,這應該可以正常工作。
經過一番研究,我發現這個解決方案可以滿足我的需求。如果沒有其他解決方案出現,我會提出這個答案。 – Gajus 2012-01-10 19:37:42