首页 文章

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

提问于
浏览
1

我有一个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 回答

  • 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

相关问题