使用/ bin / date更改系统时间

时间:2011-09-03 17:15:40

标签: linux http shell date apache2

我正在尝试通过脚本更改系统时间。

基本上命令date -s "<date>"不起作用,因为我以用户www-data运行命令。虽然我编辑了/etc/sudoers文件以授予用户www-data root权限,但我仍然无法更改或设置时间。

可能是什么原因?

3 个答案:

答案 0 :(得分:4)

编辑/ etc / sudoers后,执行

 sudo date -s

命令。这将从“Root”用户执行实际日期命令。

仅仅编辑/ etc / sudoers是不够的,因为它不会为用户提供root权限,但它将使用sudo实用程序为用户提供root权限。

答案 1 :(得分:1)

类型

sudo visudo

添加下一个命令

<username> ALL=(ALL) NOPASSWD: /bin/date

<username> ALL=(ALL) NOPASSWD: /usr/bin/timedatectl

现在您可以从特定帐户编辑时间,而无需输入密码,例如

sudo timedatectl set-time <datetime>

答案 2 :(得分:0)

还应注意行

Default requiretty

应在 sudoers 文件中注明。否则你会收到一条消息给STDERR,说

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

尝试从外部世界调用脚本时。

这是我的问题。