【问题标题】:"sudo" commands is not requiring a password on Ubuntu 16.04“sudo”命令在 Ubuntu 16.04 上不需要密码
【发布时间】:2017-12-02 21:57:11
【问题描述】:

我有一个 Ubuntu 16.04 Amazon EC2 实例。

实例中唯一的用户是ubuntu

我已在我的新实例中成功 SSH 并且工作正常。

我可以像这样运行sudo 命令:

sudo apt-get update

但我担心 sudo 不要求输入任何密码。

我认为这是因为我的默认 ubuntu 帐户没有密码。

于是我输入了以下命令:

$ passwd
(current) UNIX password:

我将第二个字段留空,然后单击 Enter,它给了我以下消息:

passwd: Authentication token manipulation error
passwd: password unchanged

然后我决定这样做:

$ sudo 密码

这让我可以更改我的密码,但每当我执行任何 sudo 命令时,它似乎都不起作用。

如何设置sudo 需要密码?

还有sudo passwd 究竟做了什么,我该如何撤消它?

【问题讨论】:

  • 出于安全原因,我建议禁用默认情况下在机器上具有 sudo 权限的任何用户,并且我将创建一个具有不同名称的新用户。任何拥有 sudo 权限的人都应该有密码。至于机器不提示您输入密码,请记住,一旦您为一个 sudo 命令输入密码,机器就会“记住”您刚刚输入了一段时间,并且直到过了一段时间才会提示您。您可能会发现 this 很有帮助。
  • @S.Imp 问题是我从来没有输入过密码,所以这不是时间流逝的问题。
  • 如果我理解你的帖子,sudo 并没有要求你第一次输入密码——用户没有密码。也许 sudo 不够聪明,无法意识到您已经更改了用户的密码——它只是在您成功通过身份验证以获得 sudo 权限之前“记住”了几秒钟。如果您将用户更改为有密码,然后注销并重新登录,仍然不需要您输入密码,问题可能出在sudoers configuration
  • @S.Imp 我注销并重新登录,但仍然不要求输入密码。问题是ubuntu 没有密码,但我似乎无法更改它,因为它要求我输入当前密码。但是没有当前密码。
  • 就像我说的,您应该创建一个新用户,例如 yahya,该用户确实有密码并授予该用户 sudoer 权限,然后禁用 ubuntu 用户 - 和确保 sudoer 配置要求该用户输入密码。

标签: ubuntu ubuntu-16.04


【解决方案1】:

回答我自己的问题...

默认的 ubuntu 用户密码是锁定的。因此,要更改它,您需要执行以下操作:

$ sudo passwd ubuntu

要撤消更改 root 密码并重新锁定它(就像以前一样),请执行以下操作:

$ sudo passwd root -l

要确保每次在ubuntu 默认用户上使用 sudo 时 sudo 都会询问您的密码,请运行以下命令(注意:您需要为 ubuntu 设置密码,否则您可能无法使用 sudo):

$ sudo visudo -f /etc/sudoers.d/90-cloud-init-users

并像这样用 ubuntu 注释掉该行:

# ubuntu ALL=(ALL) NOPASSWD:ALL

或更改为:

ubuntu ALL=(ALL) ALL

以下帮助:

https://serverfault.com/questions/615034/disable-nopasswd-sudo-access-for-ubuntu-user-on-an-ec2-instance/684504#684504

【讨论】:

  • 旁注:Ubuntu Server 20.04 for Raspberry (arm64) 的工作方式非常相似:ubuntu 是不需要密码的 sudoer,但密码未锁定(ubuntu 默认情况下,设置首次登录时强制更改)
猜你喜欢
  • 2022-10-25
  • 2018-09-28
  • 2016-09-26
  • 1970-01-01
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
  • 2013-02-08
  • 2017-04-07
相关资源
最近更新 更多