简短的回答

简短的回答

我有一个托管在虚拟机实例(搭载 ubuntu)上的项目,它在 GCP-Compute Engine 中运行。

当我想提升我的权限输入“sudo -i”时,ubuntu 会问我密码,谷歌云想要什么样的密码?),我试过我的 gcp 账户的密码,但它不起作用,希望你能在这方面提供一些帮助

示例图片

此致,

答案1

简短的回答

  • 你杀了你的/etc/sudoers
  • 验证完整性visudo -c
    • 如果一切正常,它会给你一个输出

      root@f00bar:/# visudo -c
      /etc/sudoers: parsed OK
      /etc/sudoers.d/README: parsed OK
      

详细答案:

默认 Sudo 文件

(如果你想覆盖你的一个)

## Default Debian `/etc/sudoers`

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

使用“visudo”

手册页visudo

visudo 以安全的方式编辑 sudoers 文件,类似于 vipw(8)。

visudo 锁定 sudoers 文件以防止多个同时编辑,提供基本的健全性检查,并检查解析错误。

如果 sudoers 文件目前正在编辑,您将收到一条消息,稍后再试。

visudo 在编辑 sudoers 文件后对其进行解析,如果存在语法错误,则不会保存更改。发现错误后,visudo 将打印一条消息,指出发生错误的行号,并且用户将收到“现在怎么办?”提示。此时,用户可以输入“e”重新编辑 sudoers 文件,输入“x”退出而不保存更改,或输入“Q”退出并保存更改。

使用“Q”选项时应格外谨慎,因为如果 visudo 认为存在解析错误,则 sudo 也会这样认为,并且在错误修复之前,没有人能够再次运行 sudo。

如果在检测到解析错误后输入“e”来编辑 sudoers 文件,则光标将放在发生错误的行上(如果编辑器支持此功能)。

如何获得无密码的 Sudo 用户?

  • 您的用户名 ALL=(全部) NOPASSWD: 全部

如何获得无密码的 Sudo 组?

  • %YOUR_GROUPNAME_HERE ALL=(全部) NOPASSWD: 全部

    • 不同之处在于,用户没有,而用户组前面写有百分比。

结论

如果您不熟悉语法,请不要自行编辑 sudo 文件。

相关内容