セマフォ(gui ansible)はルートパスワードを渡すことができます。

セマフォ(gui ansible)はルートパスワードを渡すことができます。

私はUbuntuクリーナーの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_passwordAnsible Vaultに保存されているユーザーの実際のパスワードを復号化するために使用するパスワードです。

おすすめ記事