2016-10-12 35 views
-1

我嘗試配置ansible爲成爲其他用戶sudo的選項字符串中刪除-u:我怎麼能由ansible配置

我ansible.cfg項

sudo_flags= 
ssh_args = -t -t 
sudo_exe = sudo /bin/su 

我可以遠程主機只有一個特權升級方法(和這部作品在SSH會話):

須藤/斌/蘇anyuser -

實例劇本:

--- 
- hosts: anyhosts 
    become: true 
    become_user: anyuser 


    tasks: 
    - name: check becoming anyuser 
    command: "ls -ltha" 

當我運行我的簡單的劇本,在詳細日誌輸出我看到-u選項:

'「」'須藤/斌/蘇-u anyuser -

如何在playbook或ansible.cfg中禁用/刪除此-u選項?

回答

1

您已經告訴Ansible sudosudo /bin/su,但據Ansible知道它仍在使用sudo,它支持-u參數。如果您想要使用某些其他命令來提升權限,請考慮設置become_method

但是,目前尚不清楚爲什麼您不只是使用sudo,因爲您似乎擁有sudo權限。可能設置sudo_exe = sudo sudo實際上可以解決這個問題,因爲第一sudo會得到你的root訪問權限(這似乎只是正常工作,根據你的問題),然後root將能夠運行sudo -u ...,這應該只是罰款。

+0

我同意,最後我發現在文檔筆記針對這種情況: '方法不能被鏈接。你不能使用sudo /斌/ su - 爲一個用戶,你需要有運行命令,如sudo的用戶還是能夠蘇直接給它的特權(同爲pbrun,pfexec或其他支持的方法).' – erroia