为什么Debian将用户sync的登录shell设置为/bin/sync?

为什么Debian将用户sync的登录shell设置为/bin/sync?

sync是 Debian 自己创建的用户帐户之一。我想知道为什么 Debian 将其登录 shell 设置/bin/sync/bin/false. Debian 如何使用这个用户帐户?

答案1

这记录在/usr/share/doc/base-passwd/users-and-groups.txt.gz

同步

用户的外壳sync/bin/sync.因此,如果其密码设置为易于猜测的内容(例如“”),则任何人都可以在控制台上同步系统,即使他们在系统上没有帐户。

这确实是一个历史文物,我不希望sync现在以这种方式设置用户。在过去,拥有这样的用户会很有用,这样人们就可以物理访问控制台(例如在服务器机房或充满工作站的实验室(如您在大学中发现的那样)可以降低关闭系统时数据丢失的风险(从恶意进程中恢复或只是使用工作站(如果已离开))被之前的用户锁定)。 Debian 之前的 Unix 系统往往有一个sync用户和一个shutdown用户,使用该用户您可以在不知道密码的情况下正确关闭系统root。 (在我们的 Sun SPARCstation 上,我们只需STOPA boot...)

值得注意的是,如彼得·科德斯提到,许多系统上都可以使用其他机制来确保从控制台安全关闭或重新启动,而无法验证为root:按下电源开关触发的 ACPI 事件(这会导致干净关闭),或CtrlAltDel(这会导致干净)重启)。AltSysRq可以用作同步、终止、卸载和重新启动的最后手段,但这不是干净的重新启动。正如所提到的杰德BP,拥有sync用户是一个非常古老的想法,至少可以追溯到 20 世纪 80 年代初。

相关内容