Raspbian root默认密码


16

我试图在Raspbian上修改sudoers文件/etc/sudoers,但似乎又犯了一个错误,因为我无法再次修改它。我也无法调用任何需要sudo权限的命令。因此,我进行了一些研究,并在这里找到了解决方案。

解决方案使用该命令*pkexec visudo*,但是当我尝试执行此命令时,它会显示一条错误消息:Authentication is needed to run '/usr/sbin/visudo' as the super user。还有一个下拉列表,它仅包含单词“ root”(并且不能更改)。以及名为身份和一个空白文本框,称为密码。

所以问题是我怎么知道root密码?我尝试了“ root”,“ raspberry”,“ admin”等。但是没有任何效果。

根据答案,使用root登录似乎有点不可能,那么使用pkexec visudo将无法解决我的问题!根据答案,我唯一的方法是使用linux pc来查看我的sd内容并修改sudoers文件。我已经在虚拟机上安装了Debian,最后我可以访问sudoers文件,但没有访问权限!它说我不是文件的所有者!我了解此安全问题,但是由于许多人在我的在线搜索中建议使用linux pc修改sudoers文件,因此应该有一种方法可以访问它。有没有人知道这种方式?

Answers:


15

默认情况下,Raspbian已配置为无法使用密码登录root帐户。这是通过以以下内容开始的条目/etc/password开始的:

root:x:0:0:

这些字段之间用冒号分隔,并在中进行了说明man 5 passwd(请注意5,因为man passwd会为您提供命令的手册页passwd;第5节是配置文件,在这种情况下,它们具有相同的名称)。这里的第一个是名称(root),第三个和第四个是数字uid和gid(均为0),第二个是密码。对于大多数条目,这将是x,指示实际密码在另一个文件中/etc/shadow

请注意,“实际密码”并没有真正存储在任何地方。存储的shadow是实际密码的单向哈希。单向哈希是一个过程的结果,该过程将始终产生相同的结果(允许您验证密码),但是不可逆。换句话说,如果有人动手了shadow,就无法从哈希中推断出密码。但是,如果他们可以修改 shadow,显然他们可以禁用或更改将用作密码的内容。但是他们将永远无法找到您的密码。这就是为什么甚至root不能做到这一点的原因(尽管root可以始终将它们更改为其他内容而无需原始文件)。

对于root用户而言,in中的条目是这样shadow开始的,就像其他大多数系统帐户一样:

root:*:

*说明目前还没有哪个可用于该帐户可能的口令。

root用户可以使用passwd命令设置一个新密码来更改此密码,该密码将替换为*前面提到的哈希值(这些哈希值总是从某个随机值开始$n$n用作哈希的“盐”,但是您不必无需了解)。

无论如何,当我从新图像设置卡时,我要做的第一件事是进入/etc/passwd并删除xso根,因此现在开​​始输入:

root::0:0

请注意,现在没有第二个字段。这意味着没有密码,您只需要root在登录提示下键入,然后以身份登录即可root。然后,您可以使用passwd来设置一个。

因此,您在这里有两个选择,但是它们都需要您将卡从pi中取出,并从另一个系统(可以读取/写入ext4分区)访问第二个分区。

  1. 恢复sudoers。如果您有参考图像,这很容易,只需将其放回原位置即可,方法是更换它。否则,这是更复杂的选择,因为您必须知道您在做什么(并且您的跟踪记录sudoers不太好...)。

  2. 如上所述编辑/etc/passwd并删除密码x,重新插入卡,以身份登录root,创建密码。当然,您仍然需要进行修复sudoers,但是尝试和错误将变得更加容易,因为如果您确实是root,您将始终可以访问它。

如果您没有可以访问ext4文件系统的系统(在这里Debian的“ live CD”是一个不错的选择),那么您就陷入了困境。您必须重新刷卡并重新开始。


我已经在VM Ware中安装了debian,并且插入了卡,但它仅查看显示为好像我在使用Windows系统的文件。我的意思是我无法查看/修改sudoers文件。我应该使用一些命令在debian中查看它们吗?
丹尼

我不是VM Ware用户,因此我无法提供具体的信息,但是大概您在VM中具有root用户访问权限,对吗?如果是这样,并且您可以从VM访问SD卡,则应该可以挂载第二个分区并查看/etc。如果sudoers不存在,则可能是您不小心删除了它,在这种情况下,您必须从新的debian映像中将其替换(不必创建新卡,只需要映像文件,请参见此处)。 。
金发姑娘

...您还应该能够etc/passwd通过Debian VM根帐户访问卡上的内容并进行更改。
goldilocks

(您应该能够挂载第二个分区并查看/ etc)我应该使用哪些命令来挂载第二个分区?
丹妮(Dani),

从VMware VM?我不知道。我使用virtualbox,但是除了网络之外,我不必在主机系统上设置对硬件或挂载的访问权限(如果必须传输数据,则只需通过网络即可完成)。我认为这是可能且简单的,但是我的主机系统也是linux。我还假定可以通过某种方式将VMware与Windows / Mac /任何主机一起使用,以使VM可以访问连接到主机硬件的SD设备...即使主机本身无法读取分区,它仍然可以访问实际的卡,因此VM也应该能够(然后VM的OS可以读取它)。
goldilocks

4

Raspbian没有root密码。在这方面它与Ubuntu有所不同。您可以创建root密码,但是AFAIK需要输入密码sudo

最好的选择是通过在Linux机器上安装SD卡来编辑文件。

如果1.有SD卡读卡器,则可以在Pi上完成。2.在另一个SD上使用良好的操作系统来启动Pi。


但是为什么raspbian要求我输入密码?为什么不接受空密码?
丹妮(Dani),

根帐户可能具有“无效”或“不可能”的密码-这是一种以这种方式锁定根帐户的常见技巧。
flakeshake


-1

如果您从http://puppylinux.org/main/Download%20Latest%20Release.htm#quirky下载适用于Raspberry Pi的Puppy Linux,并将其安装在Thumbdrive上,则您应该能够从中启动计算机,因为Puppy始终以root用户身份运行,没有密码,您可以在所需的计算机上进行任何更改。进行修改,然后在没有Puppy启动媒体的情况下重新启动计算机。现在,计算机将在没有Puppy的情况下启动进入更改后的系统。

我对Raspberry Pi有点陌生,所以我不知道如何从其他设备(拇指驱动器)启动它,但是可能有一种方法。也许Noobs系统可以在启动时按住换档键。

我将添加一个简单的替代方法,而不是从另一个驱动器引导:Raspberry Pi可以从SD卡(或microSD卡)上的Puppy安装引导,并且可以从插入的读卡器中读取和更改原始安装介质。相同的Raspberry Pi。


2
我发现拒绝投票令人讨厌,因此我将尝试填写匿名拒绝投票者。带有“我不知道”的答案可能更适合作为注释。不幸的是,这需要50点的声誉。请继续努力以提供帮助。值得付出努力。:D
OyaMist
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.