如何启用root登录?


Answers:


173

警告

尽管可以这样做,但不建议这样做。

启用

要实际启用root登录,您必须为root帐户设置密码,然后解锁锁定的root帐户。如果您没有为根帐户设置密码,该passwd命令将返回

passwd: unlocking the password would result in a passwordless account.  

因此,首先在终端中执行

sudo passwd root

系统将提示您输入新的Unix密码。写入两次(第二秒钟进行确认)。

然后执行

sudo passwd -u root 

解锁帐户。这应该返回

passwd: password expiry information changed

退回

如果要在Ubuntu中禁用root帐户,则需要使用以下命令锁定root帐户 sudo passwd -l root

root登录的替代方法

如果要在根控制台上工作,也可以使用sudo -i

仅当您知道自己在做什么时才这样做。有关为什么在这里呆在sudo的更多信息

图形版本需要设置1st:

pkexec gnome-terminal 将打开一个带有根提示的终端。

passwd root 将允许您为root创建密码。

注意:由于出于安全原因被标记为“无法修复”的错误,因此以提升的特权运行users-admin不再起作用。请参阅https://bugs.launchpad.net/ubuntu/+source/gnome-system-tools/+bug/685215以获取解释。

pkexec users-admin 将打开用户屏幕:im1

文献资料


1
sudo apt-get install gnome-system-tools
WitchCraft

3
该链接仅说明了为什么以root用户身份登录很糟糕,而没有给出任何拥有root帐户身份不好的原因。与在任何具有恢复模式的系统上一样,该根帐户仍然存在,因此,如果未“启用”,则根外壳程序不需要密码。
mchid

1
我执行了上述步骤,但是仍然没有在初始页以root用户身份登录的可能性。只有我的用户名和访客。
黑色

我有一个Ubuntu VM,按照此步骤操作后,可以从控制台以“ root”身份登录,但不能以“ root” ssh身份登录。
泽西豆

15

您可以通过将密码设置为来启用root帐户

sudo passwd root

虽然根本不建议这样做。从帮助Ubuntu

很少需要启用Root帐户。作为Ubuntu系统管理员,您几乎需要执行的所有操作都可以通过sudo或gksudo完成。如果您确实需要持久的Root登录,最好的选择是使用以下命令来模拟Root登录外壳...

使用风险自负!

以root用户身份登录到X可能会导致非常严重的麻烦。如果您认为需要root帐户才能执行某些操作,请先咨询官方支持渠道,以确保没有更好的选择。

启用后,您可以将根帐户禁用为

sudo passwd -dl root

这是为Ubuntu 12.04和[Ubuntu 12.10] [3] 启用root登录的链接。


12

在Linux中,有一个名为root的特殊帐户。默认情况下,它在Ubuntu中处于锁定状态,但是您可以启用root帐户。

但是,这通常不是一个好主意,因此在启用root登录之前,您应该仔细考虑。

有几个很好的理由不以root用户身份登录,而是使用sudo代替,包括

  • 用户不必记住多余的密码(即root密码),而他们很可能会忘记(或写下来,这样任何人都可以轻松进入自己的帐户)。

  • 它避免了默认情况下的“我可以做任何事情”交互式登录(例如,用户倾向于在Microsoft Windows系统中以“管理员”用户身份登录),在出现重大更改之前,系统会提示您输入密码,这应该使您考虑一下您在做什么的后果。

  • sudo添加了运行命令的日志条目(在/var/log/auth.log中)。如果您搞砸了,可以随时返回查看运行了哪些命令。审核也很不错。

  • 每个试图强行进入您的盒子的黑客都会知道它有一个名为Root的帐户,并且会首先尝试。他们不知道您其他用户的用户名是什么。由于根帐户密码已锁定,因此这种攻击从根本上变得毫无意义,因为首先没有密码需要破解或猜测。

  • 通过在组中添加和删除用户,可以在短期或长期内轻松转移管理员权限,而不会损害Root帐户。可以使用更细粒度的安全策略来设置sudo。

RootSudo社区文档中对此进行了更详细的讨论。

如果您有许多通常需要sudosudo -i的命令,则可以在第一个命令之前键入,然后exit在最后一个命令之后键入,以避免重复键入sudo。要以root特权运行GUI应用程序,请按ALT+ F2并输入gksugksudo后面加上程序名称(除非您使用的是KDE桌面,在这种情况下,命令为)kdesu

例如gksu nautilus,以root权限运行文件管理器。

如您所见,几乎不需要启用root登录。

也就是说,要启用root登录,只需设置root密码即可。

sudo passwd root

并设置密码。然后,您就可以以root登陆,但所有的原因,我有上面给出我不建议你这样做。


“有几个很好的理由不登录,而是使用root代替,包括”“难道不是“ ...而是使用sudo”吗?
Shauna

1
@Shauna感谢您指出这一点-帖子已编辑。
沃伦·希尔

6

不需要启用的root帐户。您可以简单地使用sudo -i超级用户提示符,就像您以root用户身份登录一样。这样可以避免允许以root用户直接登录的安全风险。


不,不是,我仍然可以格式化/分区。
Lincity

当然,您仍然可以使用sudo格式化/分区。sudo的最常见用法(尤其是在Ubuntu中)是临时授予超级用户权限,该权限使您几乎可以更改系统的任何方面-有时格式化/分区确实是当务之急。我的理解是,不允许以root用户身份直接登录的主要原因-与以常规用户身份登录并使用su以root用户身份重新登录相反-是因为它要求首先由常规用户登录,然后才进行登录。其次,它不鼓励以root用户身份登录,这是一个草率的习惯。
bgvaughan 2011年

4

简单的答案:是的,您可以做到。

当前有两件事阻止root用户登录默认的Ubuntu。

  1. 根用户没有设置密码

  2. 他们有 ”!” (/感叹号)条目中的(感叹号)

以下命令可一次性解决两个问题:

sudo passwd -u root

-u部分是必需的,因为“!” 在他们的帐户上。


2
你试过了吗?因为我这样做了,所以结果是passwd: unlocking the password would result in a passwordless account. You should set a password with usermod -p to unlock the password of this account.所以我假设,首先您必须先设置root密码,然后才能将其解锁。
NickTux 2013年

我对该命令的解释是,它会解锁密码并进行设置,从而提示您在控制台中以交互方式提示您输入新密码。如果您是从非交互式上下文(例如由其他人调用的脚本)中调用此命令,passwd则可能需要修改它以在命令行中包含密码-这可以做到。
thomasrutter
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.