1. 时间准确重要么?

很多人都认为系统时间是个无关紧要的东西,大概准确就行了,就算差个半小时只要自己不误会也没问题。但是,这在当今与网络联系密切的现代操作系统上也许并不是那么一回事——尤其是Linux。

Linux最大的用途就是服务器了。作为一台服务器,时间准确是十分重要的,以防出现一些奇怪的情况——例如一台邮件服务器时间快了,别人收到的邮件也许就会是来自“未来”的了。相信运维们都很了解时间的重要性,我也不再赘述了。

不过也许很多人不知道的是,桌面系统时间不准确也会引发问题。我这几天在GNOME 3中就遇到了一个由时间引起的诡异问题:GNOME 3.2中引入了“在线账户”(GNOME Online Account),可以与在线账户同步文档、聊天、联系人等等,目前暂时仅支持Google。但几天前,我的在线账户突然间授权失效了,重新登陆也不行,总是获取token失败。查看Debug输出、日志等等,都没有发现什么有价值的线索。后来无意间我发现系统时间慢了半小时,调整之后再尝试登陆在线账户,竟然成功了。原来是由于系统时间偏差过大引起的。

其实类似的问题在很多“time-based”的token验证系统(简单说来就是根据当前时间产生token的系统)上都会发生,如果系统时间偏差过大将会导致验证失败。
Read More