/etc/sudoers
上的sudoers文件,但好像又犯了一个错误,因为我无法再次修改它。我也无法调用任何需要sudo
权限的命令。所以我做了一些研究,找到了一个解决方案。
该解决方案使用命令
*pkexec visudo*
,但是当我尝试这样做时它给我一个错误消息:Authentication is needed to run '/usr/sbin/visudo' as the super user
。还有一个下拉列表,它仅包含单词“ root”(并且不能更改)。以及名为Identity的空白文本框和名为Password的空白文本框。所以问题是我怎么知道根密码?我尝试了“ root”,“ raspberry”,“ admin”等。但是没有任何效果。
根据答案,使用root登录然后使用pkexec visudo似乎有点不可能不会解决我的问题!根据答案,我唯一的方法是使用linux pc来查看我的sd内容并修改sudoers文件。我已经在虚拟机上安装了Debian,最后我可以访问sudoers文件,但没有访问权限!它说我不是文件的所有者!我了解此安全问题,但是由于许多人在我的在线搜索中建议使用linux pc修改sudoers文件,因此应该有一种方法可以访问它。有没有人知道这种方式?
#1 楼
默认情况下,Raspbian已配置为无法使用密码登录root帐户。这是通过从/etc/password
中的条目开始的开始的,该条目以以下内容开头:命令man 5 passwd
的手册页;第5节用于配置文件,在这种情况下,它们具有相同的名称)。这里的第一个是名称(5
),第三个和第四个是数字uid和gid(均为man passwd
),第二个是密码。对于大多数条目,该名称为passwd
,指示实际密码在另一个文件root
中。请注意,“实际密码”并没有真正存储在任何地方。
0
中存储的是实际密码的单向哈希。单向散列是一个过程的结果,该过程将始终产生相同的结果(允许您验证密码),但是不可逆。换句话说,如果有人接触到x
,则无法从哈希推断出密码。但是,如果他们可以修改/etc/shadow
,显然他们可以禁用或更改将用作密码的内容。但是他们将永远无法找到您的密码。这就是为什么即使shadow
也无法做到这一点(尽管root总是可以将它们更改为其他内容而无需原始文件)。系统帐户:root:x:0:0:
shadow
表示当前没有可用于该帐户的密码。root用户可以更改但是,请使用
shadow
命令设置新密码,该密码将用前面提到的哈希替换root
(这些密码始终以shadow
开头,其中*
是一些随机值,用作哈希的“盐”,但您不会这样做)不需要了解)。无论如何,当我从新图像设置卡时,我要做的第一件事是进入
passwd
并移除*
,因此root的条目现在开始:现在没有第二场。这意味着没有密码,您只需要在登录提示符下键入$n$
,然后以n
身份登录即可。然后,您可以使用/etc/passwd
设置一个。因此,这里有两个选择,但是它们都需要您从pi中取出卡并从另一个系统访问第二个分区(可以读取/写入) ext4分区)。
还原
x
。如果您有参考图像,这很容易,则可以通过替换它来恢复原状。否则,这是更复杂的选择,因为您必须知道自己在做什么(并且root
的记录不太好...)。编辑
root
并如上所述删除该passwd
,然后将卡放回去,以sudoers
登录,创建密码。当然,您仍然需要修复sudoers
,但是尝试和错误将变得更加容易,因为如果您确实是/etc/passwd
,那么您将始终可以访问它。如果没有一个可以访问ext4文件系统的系统(在这里Debian的“ live CD”是一个不错的选择),然后您就陷入了困境。您必须重新刷卡并重新开始。
#2 楼
设置root密码:启动并正常登录。
运行:
sudo passwd root
根据提示键入新的root密码
/>
来源:https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=5056&start=25
评论
问题是我无法使用sudo命令,因为在修改sudoers文件时犯了一个错误。通过在我的计算机上安装linux debian OS,插入sd卡并将sudoers文件更改回其原始状态,解决了该问题。
–丹妮
17年5月5日7:34
#3 楼
Raspbian没有root
密码。在这方面它与Ubuntu有所不同。您可以创建root
密码,但是AFAIK需要sudo
。最好的选择是通过在Linux机器上安装SD卡来编辑文件。
如果
1,可以在Pi上完成。您有SD卡读卡器
2。您可以在另一个SD上使用良好的操作系统来启动Pi。
评论
但是为什么raspbian要求我输入密码?为什么不接受空密码?
–丹妮
16年5月10日在12:57
根帐户可能具有“无效”或“不可能”的密码-这是一种以这种方式锁定根帐户的常见技巧。
–片状摇动
16年5月13日在9:58
#4 楼
如果您从http://puppylinux.org/main/Download%20Latest%20Release.htm#quirky下载适用于Raspberry Pi的Puppy Linux,并将其安装在拇指驱动器上,则您应该能够从中启动计算机,因为Puppy始终以root用户身份运行,没有密码,您可以在所需的计算机上进行任何更改。进行修改,然后在没有Puppy启动媒体的情况下重新启动计算机。现在,计算机将在没有Puppy的情况下启动到更改后的系统中。可能是一种方法。也许Noobs系统是通过在启动时按住Shift键来实现的。 microSD卡)和原始安装媒体可以通过插入同一Raspberry Pi的读卡器进行读取和更改。评论
我发现拒绝投票令人讨厌,因此我将尝试填写匿名拒绝投票者。带有“我不知道”的答案可能更适合作为注释。不幸的是,这需要50点的声誉。请继续努力以提供帮助。值得付出努力。 :D
– OyaMist
18年6月29日在14:04
评论
我已经在VM Ware中安装了debian,并插入了卡,但是它仅查看显示为好像我在使用Windows系统的文件。我的意思是我无法查看/修改sudoers文件。我应该使用一些命令在debian中查看它们吗?
–丹妮
16年5月10日在13:49
我不是VM Ware用户,因此我无法提供具体的信息,但是大概您在VM中具有root用户访问权限,对吗?如果是这样,并且可以从VM访问SD卡,则应该可以挂载第二个分区并查看/ etc。如果没有sudoers,则可能是您不小心删除了它,在这种情况下,您将不得不从新的debian映像中将其替换(不必创建新卡,只需映像文件,请参见此处)。 ..
–金锁♦
16年5月10日在13:54
...您还应该能够访问卡上的etc / passwd并通过Debian VM根帐户进行更改。
–金锁♦
16年5月10日在13:55
(您应该能够挂载第二个分区并查看/ etc)我应该使用哪些命令来挂载第二个分区?
–丹妮
16年5月10日在13:59
从VMware VM?我不知道。我使用virtualbox,但是除了网络之外,我不必在主机系统上设置对硬件或挂载的访问权限(如果必须传输数据,则只需通过网络即可完成)。我认为这是可能且简单的,但是我的主机系统也是linux。我还假定可以通过某种方式将VMware与Windows / Mac /任何主机一起使用,以使VM可以访问连接到主机硬件的SD设备...即使主机本身无法读取分区,它仍然可以访问实际的卡,因此VM也应该能够(然后VM的OS可以读取它)。
–金锁♦
16年5月10日在14:07