SSE-Lab/ansible/playbooks/roles/robgmills.pure-ftpd/tasks/virtual-user.yml

34 lines
1.4 KiB
YAML

---
- name: Create directory {{ item.dir | default( pure_ftpd_root ) }} for virtual FTP user {{ item.name }}
file: dest={{ item.dir | default( pure_ftpd_root ) }} mode=0755 state=directory owner={{ pure_ftpd_user }} group={{ pure_ftpd_group}}
- name: Check if pure-pw passwords file exists
stat: path={{ __ftp_passwd }}
register: r_passwd
- name: Check if virtual FTP user {{ item.name }} exists
command: pure-pw show {{ item.name }}
register: r_userexists
when: r_passwd.stat.exists
changed_when: "r_userexists.rc != 0"
ignore_errors: true
- name: Create virtual FTP user {{ item.name }}
expect:
command: pure-pw useradd {{ item.name }} -u {{ pure_ftpd_user }} -g {{ pure_ftpd_group }} -d {{ item.dir | default( pure_ftpd_root ) }} -m
responses:
(?i)password: "{{ item.password }}"
(?i)enter it again: "{{ item.password }}"
when: (r_userexists|failed) or (not r_passwd.stat.exists)
- name: Update virtual FTP user {{ item.name }}
command: pure-pw usermod {{ item.name }} -u {{ pure_ftpd_user }} -g {{ pure_ftpd_group }} -d {{ item.dir | default( pure_ftpd_root ) }} -m
when: r_userexists|success
- name: Update virtual FTP user {{ item.name }} password
expect:
command: pure-pw passwd {{ item.name }}
responses:
(?i)password: "{{ item.password }}"
(?i)enter it again: "{{ item.password }}"
when: r_userexists|success