2011-09-03 114 views
2

我試圖通過腳本更改系統時間。使用/ bin/date更改系統時間

基本上命令date -s "<date>"不起作用,因爲我作爲用戶www-data運行該命令。雖然我編輯/etc/sudoers文件給用戶www-data的root權限,但我仍然無法更改或設置時間。

可能是什麼原因?

+3

請確保您設置了'sudoers'文件,以便www-data只能以超級用戶權限運行'date',而不能運行任何應用程序。 –

+0

考慮這是否是一個好主意。 'ntpd'會自動維護你係統的時鐘。 –

+0

ntpd很酷,但用戶應該在這種情況下手動更改它。 – thetux4

回答

4

編輯的/ etc/sudoers文件後,做一個

sudo date -s 

命令。這將執行「Root」用戶的實際日期命令。

僅僅編輯/ etc/sudoers是不夠的,因爲它不會給用戶一個根,但是它會賦予用戶使用sudo實用程序成爲root用戶的能力。

+2

通常情況下,'sudo'會在使用密碼時提示輸入密碼。您可以使用'NOPASSWD'標記覆蓋此標記。 –

+0

'www-data ALL =(ALL:ALL)NOPASSWD:ALL'都是這樣改變的,但仍然不起作用 – thetux4

+0

thetux4,你怎麼準確地開始'date -s'?嘗試以相同的方式啓動'id'實用程序併發布它的結果。 – osgx

0

也應該注意到,線

Default requiretty 

的sudoers文件 becommented。否則你會收到一條消息給STDERR,說

sudo: sorry, you must have a tty to run sudo 

當試圖從外部世界調用腳本。

這是我的情況的一個問題。