无需密码即可设置系统时间

无需密码即可设置系统时间

我有一台(通常)离网的机器,它有来自 GPS 的串行时间信息流。我已捕获该信息,并尝试使用自动更新我的系统时间sudo timedatectl set-time,但它一直要求我输入密码(我不想使用密码)。我了解到我应该更新 sudoers 文件,但我发现我的格式是错误的。这是我所拥有的,它仍然要求我输入密码。我很感激任何反馈。

# User privilege specification
root    ALL=(ALL:ALL) ALL
yellowfin ALL=(ALL) NOPASSWD: /usr/bin/timedatectl

答案1

/etc/sudoers 文件仅影响命令正在 运行sudo.如果 timedatectl 没有通过“sudo”运行,它会显示不同的密码提示(来自 polkit 又名 PolicyKit),与 /etc/sudoers 无关。

要么运行sudo timedatectl以利用添加的规则,要么编辑/etc/polkit-1/rules.d/以允许时间通过波尔基特机制。

但是如果您正在寻找任何类型的准确性,您可能需要比 timedatectl 进行的 D-Bus 调用更直接的东西(在几次后端调用之后) - 最好使用它来调整系统时间/usr/bin/date --set

(这将是甚至更好chrony或中使用内置 GPS 接收器支持ntpd。)

相关内容