我有一个托管在虚拟机实例(搭载 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 文件。