我在自己的網絡服務器上工作,並且爲維護我的網站寫了一個perl腳本。從瀏覽器調用此腳本將顯示用於維護的用戶界面。爲了能夠從我的瀏覽器啓動這個腳本,我必須輸入一個用戶名和一個密碼,除了我以外,沒有人可以運行這個腳本。如何啓用cgi-perl腳本來執行root權限的操作?
我想這個腳本重命名服務器上的一些文件,當我點擊相應的按鈕。從perl腳本中我調用shell命令`mv oldFilename newFilename`
,但沒有任何反應。 Apache的錯誤日誌顯示如下消息:
[TIMESTRING] [錯誤] [客戶NNNN] MV:無法移動oldFilename到newFilename:權限被拒絕,引用者:引用
文件名的所有者是root,權限設置爲0644(每個人都可以讀取,只有root可以寫入)
這個問題的最佳解決方案是什麼?有沒有比將文件權限更改爲0666更好的方法?我想避免更改權限。我會提供一個解決方案,讓perl腳本在shell中聲明如下:「親愛的shell,這裏是root的密碼。現在請重命名文件X到Y!」
你不一定希望他將系統中的所有目錄改爲0775,將所有文件改爲0664,對不對? –
它工作!謝謝! –