1

sudo如何针对上述用户验证我在以下命令中提供的密码?

sh -c "echo <password> | sudo -u <username> <command/script>"

即使我输入的密码不正确,这个命令也对我有用。


基于@NikosC 的评论。

通过“验证”,我的意思是系统应该确保我提供了正确的密码。让我们假设 - 密码密码。如果我将密码作为blahblah而不是密码,它仍然有效。

4

1 回答 1

1

告诉 sudo 使用该-S选项从标准输入中读取密码,并且不考虑使用该-k选项从以前的身份验证中缓存的凭据。此外,您应该能够直接使用管道,而无需生成新的外壳。所以就这样做:

回显密码 | sudo -k -S -u 用户名命令/脚本

有几点需要注意。首先,大多数系统都配置了 sudo 以获取当前用户的密码,而不是目标用户的密码。要将 sudo 配置为读取目标用户的密码,您必须设置:

默认值

在您的 sudo 配置中(/etc/sudoers 或 /etc/sudoers.d/ 中的文件)。

于 2013-08-09T13:51:37.580 回答