Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
sudo如何针对上述用户验证我在以下命令中提供的密码?
sudo
sh -c "echo <password> | sudo -u <username> <command/script>"
即使我输入的密码不正确,这个命令也对我有用。
基于@NikosC 的评论。
通过“验证”,我的意思是系统应该确保我提供了正确的密码。让我们假设 - 密码是密码。如果我将密码作为blahblah而不是密码,它仍然有效。
告诉 sudo 使用该-S选项从标准输入中读取密码,并且不考虑使用该-k选项从以前的身份验证中缓存的凭据。此外,您应该能够直接使用管道,而无需生成新的外壳。所以就这样做:
-S
-k
回显密码 | sudo -k -S -u 用户名命令/脚本
有几点需要注意。首先,大多数系统都配置了 sudo 以获取当前用户的密码,而不是目标用户的密码。要将 sudo 配置为读取目标用户的密码,您必须设置:
默认值
在您的 sudo 配置中(/etc/sudoers 或 /etc/sudoers.d/ 中的文件)。