63 lines
2.2 KiB
YAML
63 lines
2.2 KiB
YAML
---
|
|
|
|
# ---
|
|
# Add virtual ftp users
|
|
# ---
|
|
|
|
- name: (create-virtual-ftp-user.yml) Verify if virtual ftp user exists for {{ user.name }}
|
|
ansible.builtin.command: pure-pw show {{ user.name }}
|
|
register: common_pureftpd_virtual_user_exists
|
|
changed_when: false
|
|
failed_when:
|
|
- common_pureftpd_virtual_user_exists.rc != 0
|
|
- common_pureftpd_virtual_user_exists.rc != 16
|
|
loop_control:
|
|
label: '{{ user.name }}'
|
|
|
|
- name: (create-virtual-ftp-user.yml) Create virtual ftp user for {{ user.name }}
|
|
ansible.builtin.shell:
|
|
cmd: >-
|
|
set -o pipefail &&
|
|
(echo {{ user.password }}; echo {{ user.password }}) |
|
|
pure-pw useradd {{ user.name }}
|
|
-u {{ user.uid | default(pureftpd_virtual_users_user) }}
|
|
-g {{ user.gid | default(pureftpd_virtual_users_group) }}
|
|
-d {{ user.homedir }}
|
|
-n {{ user.quota_files | default('""') }}
|
|
-N {{ user.quota_size | default('""') }}
|
|
-t {{ user.bandwidth_dl | default('""') }}
|
|
-T {{ user.bandwidth_ul | default('""') }}
|
|
-q {{ user.ratio_ul | default('""') }}
|
|
-Q {{ user.ratio_dl | default('""') }}
|
|
executable: /bin/bash
|
|
when: common_pureftpd_virtual_user_exists.rc == 16
|
|
changed_when: true
|
|
notify: reload Pure-FTPd users
|
|
|
|
- name: (create-virtual-ftp-user.yml) Update virtual ftp user for {{ user.name }}
|
|
ansible.builtin.command: >-
|
|
pure-pw usermod {{ user.name }}
|
|
-u {{ user.uid | default(pureftpd_virtual_users_user) }}
|
|
-g {{ user.gid | default(pureftpd_virtual_users_group) }}
|
|
-d {{ user.homedir }}
|
|
-n {{ user.quota_files | default('""') }}
|
|
-N {{ user.quota_size | default('""') }}
|
|
-t {{ user.bandwidth_dl | default('""') }}
|
|
-T {{ user.bandwidth_ul | default('""') }}
|
|
-q {{ user.ratio_ul | default('""') }}
|
|
-Q {{ user.ratio_dl | default('""') }}
|
|
when: common_pureftpd_virtual_user_exists.rc == 0
|
|
changed_when: true
|
|
notify: reload Pure-FTPd users
|
|
|
|
- name: (create-virtual-ftp-user.yml) Update virtual ftp user password for {{ user.name }}
|
|
ansible.builtin.shell:
|
|
cmd: >-
|
|
set -o pipefail &&
|
|
(echo {{ user.password }}; echo {{ user.password }}) |
|
|
pure-pw passwd {{ user.name }}
|
|
executable: /bin/bash
|
|
when: common_pureftpd_virtual_user_exists.rc == 0
|
|
changed_when: true
|
|
notify: reload Pure-FTPd users
|