如何在 Debian 上删除 root 密码?

如何在 Debian 上删除 root 密码?

我在虚拟机中运行 Debian,为了方便起见,我想删除 root 上的密码(因为这个盒子发生什么并不重要)。互联网对此没有太大帮助,我认为这没关系,因为这通常不是您想做的事情!

我尝试了 passwd -d root,但 su 不接受空密码。我认为有某种 PAM 策略阻止了我,但我一直无法找到可行的解决方案。任何帮助表示赞赏!

(只是为了澄清:我不想总是以 root 身份运行。我想要一点意外预防,以防万一我发疯了rm -rf /。只是,当我准备好以 root 身份运行时,我不想待第二次猜测。)

编辑:我也知道 sudoers hack。我只是想知道 Debian 中是什么阻碍了这一点。

答案1

我完全同意这是一件坏事。但可以在 debian 中通过按照passwd -d root清除密码然后编辑的方式来完成/etc/pam.d/common-auth。找到该pam_unix.so行,nullok如果不存在则添加到末尾,或者如果您的说是nullok_secure则更改为 just 。nulloknullok_secure

这适用于 Debian气喘吁吁(和)。

答案2

通常,两者之间是有区别的根登录根权限

在第一种情况下,系统将您识别为 root,这意味着您实际上没有任何限制,以 root 身份登录通常比拥有 root 权限的用户危险得多,因为:

  • 用户不能仅限于一组或一组预定义的操作/程序
  • 所有的安全系统基本上都是无用的,包括系统日志,因为 root 用户可以删除或访问所有内容
  • 如果您无法跟踪或信任您的日志,您可能无法回滚更改或有效保护数据

让用户横冲直撞可能从来都不是一个好主意,甚至管理员也不需要不受控制的权力来做自己的事情,因此许多发行版禁止 root 用户/etc/shadow使用sudo在没有 root 的情况下授予 root 权限的权利登录的用户还sudo能够区分多个用户并将他们限制在一组明确定义的权限和组中。

有一个有趣的讨论这里,我还建议阅读一些有关该shadow文件如何工作的内容。

相关内容