我正在尝试通过脚本更改系统时间。
基本上命令date -s "<date>"
不起作用,因为我以用户www-data运行命令。虽然我编辑了/etc/sudoers
文件以授予用户www-data root权限,但我仍然无法更改或设置时间。
可能是什么原因?
答案 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
尝试从外部世界调用脚本时。
这是我的问题。