在不使用sudo的情况下运行gcloud

3
我使用的是Mac OSX,并且一直需要使用sudo命令来运行gcloud命令。我通常可以绕过它,但是最近开始给我带来了一些问题。我尝试按照这里的答案进行操作,但我不确定gcloud命令从哪里调用。它不在/usr/bin中。
我发现我的gcloud sdk安装在/Users/Max/Desktop/google-cloud-sdk/中,并且我已经尝试从该路径添加/bin/gcloud和'/lib/gcloud.py'。没有成功!您有什么想法如何为此命令授予NOPASSWD权限吗?

当您在不使用sudo的情况下运行“gcloud info”时,会出现什么错误消息? - Glenn Fowler
@GlennFowler,我解决了这个问题。我所要做的就是使用sudo visudo指向gcloud二进制文件。我不确定为什么第一次尝试时它没有起作用。 - Max Baldwin
@Max,根据您上次的消息,似乎您已经解决了这个问题。我建议您将解决步骤发布为答案,以便其他社区成员受益。 - KarthickN
2个回答

6

我使用的是macOS,并且我的问题是google-cloud-sdk安装文件夹以及其配置文件夹~/.config/gcloudroot所拥有。解决办法是执行sudo chown -R <你的用户名> google-cloud-skdsudo chown -R <你的用户名> ~/.config/gcloud。完成后,再也不需要使用sudo了。


-3
我已经自己解决了这个问题。这篇文章非常有帮助。最终,你只需要为gcloud命令添加sudo权限。你需要通过运行sudo visudo来授予这些权限,并按照以下格式添加一行:
<yourusername> ALL=NOPASSWD: <command1>, <command2>

我的代码最终看起来像这样:

Max ALL=NOPASSWD: /Users/Max/Desktop/google-cloud-sdk/bin/gcloud

让我困惑的部分是找出 gcloud 命令安装的位置。您必须在权限的末尾添加该路径。您可以通过运行 which gcloud 来找到它的安装位置。

1
这个修复似乎是对核心问题的一种变通方法。我认为给一个进程sudo访问权限而不需要密码是一种安全上的“大忌”。我很惊讶*nix操作系统甚至允许这样做,但了解这一点还是很好的。 - phip

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接