忏悔。我对Linux知之甚少,是一个XP难民,并尝试做一些我不理解的事情。我通常发现找出如何做某事比了解我是否应该首先做这些事情更容易。
我正在使用 Mint 18。以我当时的理解水平,似乎 sudo 和我的用户帐户使用相同的密码不如使用不同的密码那么强大。我现在了解到 Ubuntu/Mint 上默认禁用 root 是故意的。
在网上搜索后,我做了一些事情来启用单独的密码,不知道是什么,我的笔记在该日期附近不清楚,但我编辑了一个文件。不用说,我不记得我使用什么搜索来返回这些说明。
结果是我能够为 root 设置一个单独的密码,这可能意味着我启用了该帐户。现在,当我从终端执行 sudo 时,它需要 root 密码。当我从 GUI 中执行管理员类型操作时,有些东西(更新管理器)需要我的用户密码,而另一些东西(备份工具)则需要 root 密码。结果,每当密码框跳出时,我都不知道它要求的是哪一个。如果我理解正确的话,它无论如何都不会提高安全性,所以我想恢复到开箱即用的状态。
我已将数据完整备份到不同的物理设备,如果最坏的情况发生,我可以删除并重建。经过一番搜索后,有人建议使用以下魔法,sudo passwd -dl root
该魔法应该禁用 root 帐户。
这就是我想做的吗?可能发生的最坏情况是什么?这会让我能够使用我的主帐户密码进行 sudo 操作吗?在尝试此操作之前,是否需要在我的计算机上谨慎进行任何调查,例如控制文件的存在?
答案1
sudo
默认情况下,要求输入调用用户的密码,但可以将其配置为要求输入密码root
或目标用户(通常也是root
)。
相关的配置行将是Defaults rootpw
或Defaults runaspw
in /etc/sudoers
,它们将与您描述的行为匹配。删除它们将重置默认行为。您可能应该使用visudo
来编辑配置文件。
手动的:
rootpw If set, sudo will prompt for the root password instead of the
password of the invoking user when running a command or edit‐
ing a file. This flag is off by default.
runaspw If set, sudo will prompt for the password of the user defined
by the runas_default option (defaults to root) instead of the
password of the invoking user when running a command or edit‐
ing a file. This flag is off by default.
如果这就是sudo
配置的目的,则意味着您为 设定了密码root
,并且该密码仍可用于登录为root
或更改为root
使用su
(而不是sudo
)。要禁用/锁定密码,您需要使用例如 that sudo passwd -dl root
。该命令是passwd
,而不是password
,出于同样的原因,所有其他命令都很短。-d
删除旧密码哈希,并-l
添加一个!
来锁定哈希,使其无法使用。
这实际上并没有锁定整个帐户,它只会使密码无法使用。您仍然可以通过 SSH 密钥等登录root
,但您可能没有安装任何密钥。