2012-11-20 32 views
1

我的系統設置爲允許某個用戶在沒有密碼提示的情況下運行sudo命令。這一直工作良好的年齡。現在我遇到一個非常不尋常的問題,某些命令提示輸入sudo密碼。我認爲這是因爲結構解析輸出並決定在遠端請求密碼。運行sudo ps時出現織物的奇怪效果ps -ef

但實際上,這是錯誤的!沒有密碼被請求(我可以用ssh運行相同的命令,沒有密碼提示)。我至少將命令ps -ef確定爲問題,我認爲是因爲正在生成的輸出類型。

實際上,命令ps -ef也顯示了fabric用來在遠端運行這個命令的命令,我認爲這是混亂的結構。它可能認爲輸出中的sudo意味着需要密碼。這是阻止織物提示輸入密碼的輸出部分:

[[email protected]:22] out: aaaa  9917 9790 0 15:10 ?  00:00:00 sshd: [email protected] 
[[email protected]:22] out: root  9918 9917 0 15:10 ?  00:00:00 sudo -S -p sudo password: 

是否可以告訴織物沒有在所有的解析輸出,或者至少不會提示輸入密碼?

回答

0

嘗試在調用命令之前將shell設置爲false。

env.shell = False