sudo su-用户-c仍要求输入原始用户密码

时间:2018-06-22 14:59:23

标签: linux bash rhel6

我认为这可能是配置问题,但我正在寻找确认/建议。

在终端或脚本中,以下内容:

user1$ sudo su - user2 -c "pwd"

提示我输入原始user1的密码。但是,以下内容:

user1$ sudo su - user2

user2$ pwd

user2$ /home/user2

工作正常。

sudo-l显示了user1切换到user2的正确权限,对于为什么通过-c参数传递命令失败的原因我有些困惑,但是单独执行每个步骤就可以了。

预先感谢您的建议。

1 个答案:

答案 0 :(得分:-1)

来自man sudoers

  

runaspw
  如果设置,则sudo将提示输入由runas_default选项定义的用户密码(默认为root),而不是运行命令或编辑文件时调用用户的密码。默认情况下,此标志为关闭。
  ...   targetpw
  如果设置,则sudo将提示您输入-u选项指定的用户密码(默认为root),而不是运行命令或编辑文件时调用用户的密码。请注意,此标志禁止将未在passwd数据库中列出的uid用作-u选项的参数。 默认情况下,此标志为关闭

您需要检查/ etc / sudoers文件。添加到它:

Defaults targetpw

要使sudo始终要求目标使用密码。