나는 우분투 클리너의 yaml을 가지고 있습니다
---
- name: Clean up system files
hosts: pc
remote_user: user
become: yes
vars:
ansible_become_password: "{{ vault_password }}"
tasks:
- name: Clean apt cache using apt-get
ansible.builtin.command:
cmd: apt-get clean
- name: Remove unused packages and dependencies
ansible.builtin.apt:
autoremove: yes
autoclean: yes
- name: Remove old compressed log files
ansible.builtin.find:
paths: "/var/log"
patterns: "*.gz"
age: "1w"
recurse: no
register: log_files
- name: Delete old compressed log files
ansible.builtin.file:
path: "{{ item.path }}"
state: absent
loop: "{{ log_files.files }}"
when: log_files.files|length > 0
- name: Remove thumbnail cache
ansible.builtin.file:
path: "~/.cache/thumbnails/*"
state: absent
- name: Remove old snap revisions
ansible.builtin.shell: |
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
args:
executable: /bin/bash
ansible-vault 비밀번호를 생성하고 파일에 비밀번호를 입력했습니다. 하지만 세마포어 권한 거부 오류가 발생합니다.
답변1
전 세계적으로 사용하고 있습니다 become: yes
. 나는 이것을 권장하지 않지만 모든 작업에 사용합니다. 물론 모든 작업에 sudo 권한이 필요한 경우는 제외됩니다.
여기:
tasks:
- name: Clean apt cache using apt-get
ansible.builtin.command:
cmd: apt-get clean
당신은 사용하고 싶을 수도 있습니다ansible.buildin.apt 모듈. 또한 다음 권한으로 실행해야 합니다.
tasks:
- name: Clean apt cache using apt-get
ansible.builtin.apt:
clean: True
become: True
또한 일부 개념이 혼동될 수 있는 경우:
해야 할 ansible_become_password
것과 다른 것이 되어야 합니다 vault_password
.
ansible_become_password
대신에 원하는 사용자의 비밀번호 입니다 (참조:권한 승격n) 이는 vault_password
Ansible Vault에 저장된 사용자의 실제 비밀번호를 해독하는 데 사용하는 비밀번호입니다.