我们的网络(Debian wheezy 服务器和客户端)使用 Kerberos 进行身份验证,它的一大特点是票证服务器和客户端之间不应该有时间差 - 否则不会授予票证并且身份验证失败。
现在,我的一个用户为了做一些愚蠢的事情而将日期设置回了几天,gnome 因不活动而锁定了自己。显然,您不是只为一个用户设置日期/时间,而是为该计算机上的整个 gnome 设置日期/时间。
显然,您需要登录才能从 GUI 设置日期/时间,而我似乎找不到如何从 CLI 设置 gnome 日期/时间...我尝试寻找“gsettings”模式,但没有成功。有什么帮助吗?
答案1
没有“GNOME 日期/时间”这样的东西。只有一个设置,即系统时钟,所有桌面环境都会显示和调整它。也可以使用命令访问它date
。
时区是唯一可以针对每个用户进行调整的,因为程序将从$TZ
环境变量中获取它;尽管如此,我记得 GNOME 的时区设置是系统范围的 - 也就是说,是更改/etc/localtime
而不是$TZ
。(无论哪种方式,时区与仅使用 UTC 时间戳的 Kerberos 无关。)
在 Linux 上,您可以使用date --set
接受多种日期/时间格式:
# date --set="13:04"
你在 BSD 上可能需要的奇怪的传统语法是date MMDDhhmm[[CC]YY][.ss]
:
# date 02161304
通常,您会给它提供当地时间,并date
在设置系统时钟(始终以 UTC 运行)之前自动将其转换为 UTC 时间。至少在 Linux 上,date --utc --set...
这意味着它将直接接受 UTC 时间。
也可以直接从 NTP 时间服务器获取时间,使用以下任一项:
# ntpd -g -q
(“-g”表示“允许大幅度的时间调整”)
# ntpdate pool.ntp.org
我不知道 Chrony 是否有其他选择。但无论如何,这都不是问题——既然您使用 Kerberos,我假设您的所有客户端都运行 NTP 守护程序,并且会修复不准确的时钟。
好吧,我撒谎了。大多数电脑都有电池供电的硬件时钟。
如果您运行ntpd
或chronyd
,它将每隔几分钟自动更新。
如果由于某种原因您不运行 NTP 客户端,则可以使用hwclock --systohc
将当前时间存储到硬件时钟中。