我需要編寫一個python腳本,它必須能夠連接到遠程服務器(對user1),執行一些命令(這很簡單),然後它必須通過sudo su - user2切換到user2,並執行一些命令(問題在這裏)。 如何在不詢問密碼的情況下切換到用戶2(我可以將密碼放在腳本的某處),然後以user2的身份執行命令。fabric:連接到遠程服務器,然後在sudo su後執行命令 - user2
感謝,
我需要編寫一個python腳本,它必須能夠連接到遠程服務器(對user1),執行一些命令(這很簡單),然後它必須通過sudo su - user2切換到user2,並執行一些命令(問題在這裏)。 如何在不詢問密碼的情況下切換到用戶2(我可以將密碼放在腳本的某處),然後以user2的身份執行命令。fabric:連接到遠程服務器,然後在sudo su後執行命令 - user2
感謝,
嘗試-S
(大寫字母 「S」)。引用sudo手冊頁:
-S The -S (stdin) option causes sudo to read the password from
the standard input instead of the terminal device.
明白了。只有我被允許以超級用戶身份執行的操作是sudo su - user2,如果我嘗試使用sudo
Aside:Why「'sudo su - user2'」?爲什麼不「'sudo -u user2 -s'」? – 2013-02-28 14:23:55
因爲我不知道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