在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权限吗?
如何解决此问题?
非常感谢你!
答案 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