--- # --- # Add virtual ftp users # --- - name: "(create-virtual-ftp-user.yml) Verify if virtual ftp user {{ user.name }} exists" command: pure-pw show {{ user.name }} register: pureftpd_virtual_user_exists changed_when: "pureftpd_virtual_user_exists.rc != 0" failed_when: - "pureftpd_virtual_user_exists.rc != 0" - "pureftpd_virtual_user_exists.rc != 16" ignore_errors: true loop_control: label: '{{ user.name }}' - name: "(create-virtual-ftp-user.yml) Create virtual ftp user {{ user.name }} ." shell: "(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('\"\"') }}" #when: pureftpd_virtual_user_exists.failed is defined and pureftpd_virtual_user_exists.failed when: pureftpd_virtual_user_exists.changed notify: reload Pure-FTPd users - name: "User {{ user.name }}: Update virtual user" 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: pureftpd_virtual_user_exists.failed is defined and not pureftpd_virtual_user_exists.failed when: not pureftpd_virtual_user_exists.changed notify: reload Pure-FTPd users - name: "User {{ user.name }}: Update virtual user password" shell: "(echo {{ user.password }}; echo {{ user.password }}) | pure-pw passwd {{ user.name }}" when: not pureftpd_virtual_user_exists.changed notify: reload Pure-FTPd users