當我使用非 sudo 用戶進行身份驗證時,我想覆蓋 playbook sudo。
---
name: test
hosts: foo
sudo: yes
如果我做:
ansible-playbook test.yml -e "sudo=no"
它沒有得到正確的覆蓋,而是我必須sudo: yes
從我的劇本中刪除。不應該sudo=no
工作嗎?
答案1
sudo
不是變數;這是一個指令。透過-e
命令列參數,您定義了一個名為 的變量sudo
,但這是不相關的。如果您在劇本中這樣做,它可能會起作用:
sudo: "{{ sudo }}"
或者可能
sudo: "{{ sudo | default('yes') }}"
但如果您選擇執行上述任何操作,請不要命名變量sudo
,否則會造成混亂;說出它的名字must_sudo
或其他什麼。