如何使用其他用户在sudo上运行多个命令

时间:2014-10-07 18:13:08

标签: linux bash

我想做类似下面的事情

ssh -t 10.x.xx.xxx "sudo -s -u user1 /bin/bash -c 'tar --warning=none -xf abc.tgz;cd abc/def;'"

但它给了我以下错误

tar:您必须指定其中一个-Acdtrux' or - 测试标签'选项 试试tar --help' or tar --usage'了解更多信息。

1 个答案:

答案 0 :(得分:0)

一种可能性是您只需要在-命令中省略x之前的tar。否则,你所拥有的东西或多或少是正确的,虽然比它需要的时间长一些。除非user1的登录shell不是/bin/bash而您需要才能使用bash,否则您可以将命令缩短为

ssh 10.x.xx.xxx 'sudo -u user1 -s "tar --warning=none xf abc.tgz; ..."'

-s的字符串参数自动作为参数传递给-c,以便-s启动任何shell。