Tho*_*key 13
sudo
没有指定密码的选项,但您仍然可以在命令行上进行身份验证,如下所示:
echo password | sudo -u root --stdin
Run Code Online (Sandbox Code Playgroud)
要不就
echo password | sudo -S
Run Code Online (Sandbox Code Playgroud)
参考sudo 手册页:
-S
, 将提示写入标准错误并从标准输入读取密码,而不是使用终端设备。密码后必须跟一个换行符。--stdin
和
-u
user, user 以默认目标用户(通常是 root)以外的用户身份运行命令。用户可以是用户名或带有“#”字符前缀的数字用户 ID (UID)(例如,#0 表示 UID 0)。当作为 UID 运行命令时,许多 shell 要求使用反斜杠 ('\') 对“#”进行转义。某些安全策略可能会将 UID 限制为密码数据库中列出的那些。只要未设置 targetpw 选项,sudoers 策略就允许密码数据库中没有的 UID。其他安全策略可能不支持这一点。--user=
但是sudo
已经开发了很长时间。检查版本:
-V
, 打印版本字符串以及安全策略插件和任何 I/O 插件的版本字符串。如果调用用户已经是 root,该选项将显示在构建时传递给 configure 的参数,并且插件可能会显示更详细的信息,例如默认选项。--version
sudo
-V
sudo
2013年增加了对多头期权的支持。
除了认证,你需要的东西sudo
要去做,比如,一个命令。我经常通过执行以下操作来检查它是否有效
sudo id
Run Code Online (Sandbox Code Playgroud)
应该显示root用户,例如,
uid=0(root) gid=0(root) groups=0(root)
Run Code Online (Sandbox Code Playgroud)