2013-12-11 121 views
1

在哈德森,我創造了一份工作,嘗試在Ubuntu的哈德森從執行此命令行:如何在Hudson作業中以root身份執行命令行?

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> 

然後,我得到這個er ROR

mount: only root can do that 

然後我嘗試這個命令行(我試了一下,因爲在膩子這個命令工作):

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> 

我應該得到的根的方法來驗證在哈德森工作(密碼應在自動方式進行設置)?或者我應該給哈德森用戶提供root權限?

我該如何解決這個問題?

非常感謝!

+0

這個問題是不是「通用計算的硬件和軟件」,也是它不是政府。我是一個開發者,而現在我正在使用shell編寫腳本,更具體地說,我所做的腳本是在Hudson版本中注入的。所以,也許我的命令行有錯誤。感謝您審覈我的問題並重新打開它。 – Farah

回答

0

要做的最好的事情可能是將掛載添加到/ 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 
+0

感謝您的建議,但我不是在fstab文件中添加密碼的權利。它必須填寫哈德森工作水平。謝謝 – Farah

+0

也許它會工作,如果你把除密碼之外的所有東西都放到fstab中,並在命令行上輸入密碼。但是你必須嘗試一下,我不能在那裏我是atm。 –

相關問題