sudo sudo是什么意思?


8

我正在使用Cloud9进行Rails开发,它使用Ubuntu环境。在有关使用PostgreSQL数据库的文档中,它说:

连接到服务:

$ sudo sudo -u postgres psql 

两次输入sudo是什么意思?

https://docs.c9.io/setting_up_postgresql.html


1
可能允许用户sudo以root 用户身份运行命令,但不允许以root 身份运行psql命令postgres
斯特凡Chazelas

@WarrenYoung看着文档,似乎是用户无意中扎根的意图。原始用户可能被认为是管理帐户,因此可能被授予了user ALL=(ALL) NOPASSWD: ALL
权限

当然,不提示输入具有ssh权限的帐户的root密码可能是一个问题。
布拉奇利,2015年

我打开了一个问题(并对拉取请求进行了哈希处理)。让我们看看他们是否修复它。
muru

它已得到修复。
muru

Answers:


9

sudo -u postgres允许您在运行命令时模拟postgres用户。您的用户可能没有该特权,但具有root特权。

因此,第一个sudo为您提供root的特权,第二个sudo允许您(作为root)将sudo -u赋予postgres,从而允许该命令以postgres用户身份运行。


+1:这可以很好地解释第二个sudo
沃伦·杨

0

他们可能只向根帐户授予了您的帐户sudo权限,因此他们认为他们需要将其sudo移交给postgres用户才能到达那里。

考虑到有多少人遵守他们的规则,您可能会sudo -l以普通用户身份运行,以查看他们是否允许您访问所有用户或由于某种原因而将您锁定为root用户。我愿意成为前者,在这种情况下,您可以省略第一个sudo

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.