在unix shell脚本csh中以另一个用户身份运行命令

时间:2014-02-13 11:48:40

标签: shell unix csh

假设我是用户A(不是root用户),我想运行一个c-shell脚本,它将在用户B中执行命令(B的密码对我来说是已知的),并将在此处使用该命令的结果。 / p>

如何在User-B中运行命令。

sudo -u username command1

上面的命令可能会提示输入密码,但我希望这只能在脚本中完成。

感谢你的所有建议。

2 个答案:

答案 0 :(得分:1)

您可以使用ssh密钥允许您的用户A使用用户A的私钥(以及用户A的公钥在~B / .ssh / authorised_keys中)以用户B身份登录

然后您只需将脚本作为B执行:

ssh B@localhost "/path/to/script  and maybe some arguments here"

答案 1 :(得分:0)

您有以下选项,

  1. 使用root运行您的命令,以便su - username不会提示输入密码
  2. 为用户创建无密码登录,如无密码ssh,删除用户密码等,然后运行命令
  3. 让输出在这里工作,

    1. 将其写入文件并以代码
    2. 访问它
    3. 将其存储在变量中并以代码
    4. 访问它