Files
nis/roles/common/tasks/pure-ftpd/create-virtual-ftp-user.yml
T

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