无论出于什么原因,我都需要启用 root 帐户,并且处于离线状态,我没有比这本手册更好的建议man sudo root
“不推荐这样做!
要启用 root 帐户(即设置密码),使用:
sudo passwd root
然后,编辑
/etc/sudoers
并注释掉以下行%admin ALL=(ALL) ALL
禁用
sudo
管理员组成员的访问。”
因此我按照这两个步骤操作,结果是我仍然无法访问 root 帐户,因为我没有在登录屏幕中激活它,现在我还失去了默认用户的管理员权限,这使我处于权限不确定的状态,从那时起我从 CD 启动编辑了 sudoers 并恢复了设置但仍然...
该手册真的是一个糟糕的建议吗?或者有没有比这更好的方法来恢复或完成该过程?
答案1
按照男人须要根如何恢复传统的根帐户才不是永久阻止 sudo。
这里要注意的第一点是,回到传统的 root 帐户是不建议。由于许多很好的理由,默认情况下禁用 root 登录,并且其几乎无需启用 root 登录。
默认禁用 Root 登录有以下好处:
- Ubuntu 安装程序需要询问的问题较少。
用户不必记住额外的密码(即 root 密码),因为他们很可能会忘记该密码(或写下来以便任何人都可以轻松破解他们的帐户)。
它避免了默认的“我可以做任何事情”的交互式登录(例如,用户在 Microsoft Windows 系统中倾向于以“管理员”用户身份登录),在发生重大更改之前,系统会提示您输入密码,这应该让您思考您正在做的事情的后果。
sudo 会添加运行命令的日志条目(在 /var/log/auth.log 中)。如果您搞砸了,您可以随时返回并查看运行了哪些命令。这对于审计也很有用。
每一个试图强行进入你的机器的黑客都知道它有一个名为 Root 的帐户,并会首先尝试这个帐户。他们不知道的是你的其他用户的用户名是什么。由于 Root 帐户密码被锁定,这种攻击基本上毫无意义,因为根本没有密码可以破解或猜测。
通过在组中添加和删除用户,允许在短期或长期内轻松转移管理员权限,同时不损害 Root 帐户。
- sudo 可以设置更细粒度的安全策略。
- 不需要与需要在系统上执行某种管理任务的每个人共享 Root 帐户密码(参见上一条)。
- 身份验证会在短暂的时间后自动过期(可以设置为所需的最短时间或 0);因此,如果您在使用 sudo 以 Root 身份运行命令后离开终端,您不会无限期地打开 Root 终端。
话虽如此,让我们看看这些命令在实时系统上实际上做了什么。由于管理员用户组的名称从行政到须藤随着 precise 的发布,我在 10.04 和 12.04 上都进行了测试。两次测试都使用 Virtualbox,因为我无意破坏真实系统。
从 Ubuntu 10.04 开始,我使用 启用了 root 帐户,sudo passwd root
然后使用 编辑了 sudoers 文件sudo visudo
并重新启动。重新启动时,只列出了我的名字,而登录时sudo
不起作用。但是,我能够通过输入su
终端和 root 密码成为 root。我还可以注销并以 root 身份重新登录。 根没有列为用户,但我可以输入。
接下来我尝试了 Xubuntu 12.04,我用 启用了 root 帐户,sudo passwd root
然后用 编辑了 sudoers 文件sudo visudo
并重新启动。重新启动时,只列出了我的名字,当我登录时sudo
仍然有效。我能够通过输入su
终端和 root 密码成为 root。我还可以注销并以 root 身份重新登录。 根没有列为用户,但我可以输入。