“sudo”命令在Ubuntu 16.04上不需要密码

时间:2017-12-02 21:57:12

标签: ubuntu ubuntu-16.04

我有一个Ubuntu 16.04 Amazon EC2实例。

实例中唯一的用户是ubuntu

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

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

sudo apt-get update

但是我担心sudo不会要求任何密码。

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

所以我输入以下命令:

$ passwd
(current) UNIX password:

我将第二个字段留空并单击回车,它给了我以下消息:

passwd: Authentication token manipulation error
passwd: password unchanged

然后我决定这样做:

$ sudo passwd

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

如何设置sudo需要密码?

sudo passwd究竟做了什么以及如何撤消它?

1 个答案:

答案 0 :(得分:3)

回答我自己的问题......

默认的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