2013-02-28 68 views
0

我需要編寫一個python腳本,它必須能夠連接到遠程服務器(對user1),執行一些命令(這​​很簡單),然後它必須通過sudo su - user2切換到user2,並執行一些命令(問題在這裏)。 如何在不詢問密碼的情況下切換到用戶2(我可以將密碼放在腳本的某處),然後以user2的身份執行命令。fabric:連接到遠程服務器,然後在sudo su後執行命令 - user2

感謝,

+0

Aside:Why「'sudo su - user2'」?爲什麼不「'sudo -u user2 -s'」? – 2013-02-28 14:23:55

+0

因爲我不知道sudo -u user2 -s :)。無論如何,我試過: sudo('su -u user2 -s') **用戶user1不允許以root身份執行'/ bin/bash -l -c su -u user2 -s'on new_hub。** – smarber 2013-02-28 14:36:19

回答

1

嘗試-S(大寫字母 「S」)。引用sudo手冊頁:

-S   The -S (stdin) option causes sudo to read the password from 
       the standard input instead of the terminal device. 
+0

明白了。只有我被允許以超級用戶身份執行的操作是sudo su - user2,如果我嘗試使用sudo ,它將不會通過。做sudo('su - user2')會嘗試執行這個** sudo -S -p **,這對我來說是不可能的。織物不夠具體:)在一些點上 – smarber 2013-02-28 15:14:36

相關問題