ansible-role-vsftpd/tasks/main.yml

65 lines
2.2 KiB
YAML

---
- name: Package, and config, deb distributions
block:
- name: Install the vsftpd package on deb distributions
apt: pkg=vsftpd state=present update_cache=yes cache_valid_time=3600
- name: Install the vsftpd configuration file
template: src=vsftpd.conf.j2 dest=/etc/vsftpd.conf mode=0444 owner=root group=root
notify: Restart the vsftpd server
tags: [ 'vsftpd', 'ftp', 'vsftpd_conf' ]
when: ansible_distribution_file_variety == "Debian"
tags: [ 'vsftpd', 'ftp' ]
- name: Package, and config, el
block:
- name: Install the vsftpd package on el distributions
yum: pkg=vsftpd state=present
- name: Install the vsftpd configuration file
template: src=vsftpd.conf.j2 dest={{ vsftpd_global_config_dir }}/vsftpd.conf mode=0444 owner=root group=root
notify: Restart the vsftpd server
tags: [ 'vsftpd', 'ftp', 'vsftpd_conf' ]
when: ansible_distribution_file_variety == "RedHat"
tags: [ 'vsftpd', 'ftp' ]
- name: Global configuration
block:
- name: Create the global config directory
file: dest={{ vsftpd_global_config_dir }} state=directory mode='0755' owner=root group=root
- name: Install the chroot list file
template: src=vsftpd_chroot_list.j2 dest={{ vsftpd_chroot_list_file }} mode=0444 owner=root group=root
- name: Create the user configs directory
file: dest={{ vsftpd_user_config_dir }} state=directory mode='0750' owner=root group=root
when: vsftpd_user_config_enabled
- name: Install the users configurations
template: src=vsftpd_user_config.j2 dest={{ vsftpd_user_config_dir }}/{{ item.login }} mode=0444 owner=root group=root
with_items: '{{ vsftp_chrooted_users }}'
when:
- vsftpd_user_config_enabled
- item.conf is defined
- name: Make /bin/true a valid shell
lineinfile: name=/etc/shells line="{{ vsftpd_valid_shell }}"
when: vsftpd_manage_valid_shells
tags: [ 'vsftpd', 'ftp', 'vsftpd_conf' ]
- name: vsftpd service
block:
- name: Start and enable the vsftpd server
service: name=vsftpd state=started enabled=yes
when: vsftpd_server_enabled
tags: [ 'vsftpd', 'ftp' ]
- name: Stop and disable the vsftpd server
service: name=vsftpd state=stopped
when: not vsftpd_server_enabled
tags: [ 'vsftpd', 'ftp' ]