2009-11-16 75 views
3

执行shell脚本能有人给通过sudo用户运行shell脚本的例子吗?如何通过sudo用户

我试过这样。

须藤的/ usr/local/sbin中/部署| ./tmp/cp1.sh

上述脚本被作为普通用户并不像须藤用户执行。

回答

6

使用此命令,deploy脚本在root用户下执行,但./tmp/cp1.sh脚本由当前shell以当前特权运行。为了避免这种情况,你可以前缀sudo来两个:

sudo /usr/local/sbin/deploy | sudo ./tmp/cp1.sh 

或者你可以产卵从sudo的内壳,所以壳已经以root运行:

sudo sh -c '/usr/local/sbin/deploy | ./tmp/cp1.sh' 
+2

但是请记住,通过提供用户密码,这也就是为什么,国际海事组织,不应该被一个安全的系统上启用,当你使用sudo产卵掀起了外壳,您刚刚创建一个root shell。 – Dmitri 2011-10-23 22:22:26

0

的问题是,当你想要这样做,你需要拥有sudo密码并且位于sudoers文件中,否则会失败。 但是你可以尝试使用gksudo(sudo的图形版本),所以当它被调用时,要求输入密码。

+0

嗨, 感谢您的答复.... 是否有任何其他的方式来做到这一点,而无需输入密码... – 2009-11-16 16:03:57