我有一个本地Shell脚本,在交付有效负载之前,该脚本在远程主机上执行了许多测试;这些测试之一是用户是否具有sudo特权,只需简单地进行检查即可,sudo -v
但这需要用户输入密码。另外,远程主机似乎具有即时的sudo超时,因此每个新连接都需要输入密码,这是我无权更改的(作为一项策略)。
我当然可以测试用户是否属于某些组,但是这对于远程主机配置不是不可知的,所以我希望有一种方法可以检查是否也不需要假设用户的组因为不需要用户输入?
谢谢!
更新:为了回应我的评论,我只想测试用户是否可以sudo,而无需该测试的用户交互。
您是否需要检查用户是否可以使用sudo,或者是否正在通过sudo执行shell脚本?
—
Niko SP
只是他是否有可能。本地脚本将要求稍后输入sudo密码,因此我只想尽早检查远程主机上的用户是否是sudoer。
—
DanH 2012年
快速检查我的ubuntu框是否给了我sudo -l,它返回用户可以运行的命令,如果(ALL)ALL是其中的一部分,则用户可以对任何命令使用sudo。也许那是直角?
—
Niko SP
sudo -l
提示我输入密码。
Sudo基于tty进行缓存,因此,如果新会话为您提供相同的tty,则可能不会提示您。尝试
—
马克·瓦格纳
sudo -k
先执行。