34 lines
1.4 KiB
YAML
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 |