如何在Hudson作业中以root身份执行命令行?

时间:2013-12-11 19:58:35

标签: linux ubuntu hudson root slave

在Hudson中,我创建了一个尝试在Ubuntu Hudson Slave中执行此命令行的作业:

sudo mount -t cifs //path/to/network/directory /path/to/local/directory -o username=<Account>,password=<AccountPassword>,domain=<DomaineName>

但是我得到了错误

sudo: no tty present and no askpass program specified

然后,我尝试在Hudson作业中执行此命令行:

mount -t cifs //path/to/network/directory /path/to/local/directory -o username=<Account>,password=<AccountPassword>,domain=<DomaineName>

然后,我得到错误

mount: only root can do that

然后我尝试了这个命令行(我试过它,因为这个命令在putty中工作):

ssh "sudo mount -t cifs //path/to/network/directory /path/to/local/directory -o username=<Account>,password=<AccountPassword>,domain=<DomaineName>"

但是我因错误

而失败了
ssh: Could not resolve hostname ,domain=<DomaineName>: Name or service not known

阅读this后,我试图通过在Ubuntu终端中执行此命令行来解决上一个错误:

sudo chmod a+s /sbin/mount.cifs

但这并没有解决我的问题。

这也不起作用:

mount.cifs //path/to/network/directory /path/to/local/directory -o username=<Account>,password=<AccountPassword>,domain=<DomaineName>

我应该选择在Hudson作业中以root身份进行身份验证(密码应该以自动方式设置)?或者我应该为Hudson用户授予root权限吗?

如何解决此问题?

非常感谢你!

1 个答案:

答案 0 :(得分:0)

最好的办法是将mount添加到/ etc / fstab并指定“user”选项,这样你就不必是root用户来进行挂载。

您添加到/ etc / fstab的行应如下所示:

//path/to/network/directory /path/to/local/directory cifs noauto,user,username=<account>,password=<password>,domain=<domain> 0 0