Skip to content
Snippets Groups Projects
main.yml 4.02 KiB
---

- name: install packages
  package:
    force_apt_get: true
    name: "{{ import_packages }}"
    state: present

## USERS

- name: create ftp folders
  loop:
    - /home/ftp/storage/incoming
    - /home/ftp/storage/watchfolder
  file:
    path: "{{ item }}"
    state: directory

- name: deploy users management script
  copy:
    src: files/mediaimport.py
    dest: /usr/local/bin/mediaimport
    mode: 0755

- name: create users
  loop: "{{ import_users }}"
  when:
    - item.name | d(false)
    - item.passwd | d(false)
  no_log: true
  command: mediaimport add --yes --user {{ item.name }} --passwd {{ item.passwd }}
  args:
    creates: /home/ftp/storage/incoming/{{ item.name }}

- name: deploy on-upload script with setuid
  copy:
    src: files/on-upload
    dest: /home/ftp/on-upload
    mode: 04755

## MYSECURESHELL

- name: set the setuid on mysecureshell
  file:
    path: /usr/bin/mysecureshell
    mode: 04755

- name: configure mysecureshell
  notify:
    - restart mysecureshell
    - sftp-verif
  template:
    src: sftp_config.j2
    dest: /etc/ssh/sftp_config

## PURE-FTPD

- name: set pure-ftpd default config
  notify: restart pure-ftpd
  copy:
    dest: /etc/default/pure-ftpd-common
    content: |
      STANDALONE_OR_INETD=standalone
      VIRTUALCHROOT=false
      UPLOADSCRIPT="/home/ftp/on-upload{% if import_virus_scan_on_upload %} --scan-virus{% endif %}"
      UPLOADUID=0
      UPLOADGID=0

- name: configure pure-ftpd
  notify: restart pure-ftpd