代码之家  ›  专栏  ›  技术社区  ›  Yahya Uddin

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

  •  5
  • Yahya Uddin  · 技术社区  · 6 年前

    我有一个Ubuntu 16.04亚马逊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 passwd 具体怎么做?我怎么才能撤销它?

    1 回复  |  直到 6 年前
        1
  •  10
  •   Yahya Uddin    6 年前

    回答我自己的问题。。。

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

    $ sudo passwd ubuntu
    

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

    $ sudo passwd root -l
    

    确保每次使用sudo时,sudo都会询问您的密码 ubuntu 默认用户,运行以下命令(注意:您需要为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