vsftpd

Описание

Установка и настройка FTP-сервера vsftpd.

Особенности:

  • локальные пользователи
  • виртуальные пользователи
  • chroot
  • небезопасный / TLS v1
  • явный и неявный TLS
  • несколько экземпляров vsftpd

Не охватывает:

  • создание SSL сертификата и ключа

Установка роли

$ git clone https://github.com/Xat59/ansible-role-vsftpd

Переменные

  • vsftpd_enable_local_users : Включить подключение локальных пользователей
    Примечание : Если vsftpd_enable_virt_users 'true', значение этой переменной будет переопределено на 'true'

    • обязательно : Нет
    • значение по умолчанию : true
    • варианты : true или false
  • vsftpd_chroot_local_users : Включить chroot для локальных пользователей
    Примечание : chroot для пользователей требует, чтобы пользователь находился в корректном (владельца и прав доступа) пути chroot

    • обязательно : Нет
    • значение по умолчанию : false
    • варианты : true или false
  • vsftpd_ftp_banner : Приветственное сообщение при первом подключении

    • обязательно : Нет
    • значение по умолчанию : Приватный FTP сервер
  • vsftpd_passive_min_port : Минимальный номер порта для подключения данных
    Примечание : полезно для настройки брандмауэра

    • обязательно : Нет
  • vsftpd_passive_max_port : Максимальный номер порта для подключения данных
    Примечание : полезно для настройки брандмауэра

    • обязательно : Нет
  • vsftpd_passive_address : IP-адрес для подключения

    • обязательно : Нет
  • vsftpd_ssl_enabled : Включить или отключить поддержку SSL

    • обязательно : Нет
    • значение по умолчанию : false
    • варианты : true или false
  • vsftpd_ssl_privkey : Путь к SSL ключу сертификата

    • обязательно : если vsftpd_ssl_enabled 'True'
  • vsftpd_ssl_certificate : Путь к SSL сертификату

    • обязательно : если vsftpd_ssl_enabled 'True'
  • vsftpd_ssl_implicit : Включить или отключить неявный TLS
    Если включен, SSL рукопожатие ожидается первым на всех соединениях (FTPs)
    Если отключен, включен явный TLS (FTPes)

    • обязательно : Нет
    • значение по умолчанию : true
    • варианты : true или false
  • vsftpd_systemd_service_name : Имя экземпляра vsftpd
    Примечание : Если переопределено, конфигурационный файл vsftpd и файл службы systemd будут унаследованы от этого имени. Если не переопределено, конфигурационный файл и файл службы systemd сохранят свои значения по умолчанию.
    Пример: если vsftpd_systemd_service_name установлено на 'vsftpd-implicit', конфигурационный файл будет /etc/vsftpd/vsftpd-implicit.conf, а файл службы systemd будет vsftpd@vsftpd-implicit.service.

    • обязательно: Нет
    • значение по умолчанию : vsftpd
  • vsftpd_guest_username : Гостевой (все неанонимные) логин перенаправляется на реального пользователя, указанного в этом параметре.

    • обязательно: Нет
  • vsftpd_enable_virt_users : Включить виртуальных пользователей на экземпляре vsftpd
    Примечание: установка этой переменной в 'true' переопределит переменную vsftpd_chroot_local_users на 'true'.

    • обязательно : Нет. Но, если вы хотите определить виртуальных пользователей через vsftpd_virt_users, вы должны установить vsftpd_enable_virt_users на 'True'.
    • значение по умолчанию : false
    • варианты : true или false
  • vsftpd_no_log : Отключить ведение журнала задач, обрабатывающих конфиденциальную информацию

    • обязательно : Нет.
    • значение по умолчанию : true
    • варианты : true или false
  • vsftpd_virt_users : Список включенных виртуальных пользователей с переопределением параметров для каждого пользователя

    • обязательно: Нет

      Доступные параметры для каждого пользователя :

      • username : имя текущего виртуального пользователя
        • обязательно : Да
      • password : пароль текущего виртуального пользователя
        • обязательно : Да
      • local_root : домашний каталог текущего виртуального пользователя
        • обязательно : Нет
      • write_enable : разрешение на запись текущего виртуального пользователя
        • обязательно : Нет
      • guest_username : перенаправление текущего виртуального пользователя на указанного локального пользователя
        • обязательно : Нет

      Пример: см. примеры ниже.

Использование

  • Небезопасный FTP
---
- hosts: host01
  gather_facts: yes
  become: yes
    - role: ansible-role-vsftpd
  • Безопасный FTP с явным TLS (FTPes)
---
- hosts: host01
  gather_facts: yes
  become: yes
    - role: ansible-role-vsftpd
      vsftpd_ssl_enabled: true
      vsftpd_ssl_privkey: /etc/vsftpd/ssl/vsftpd.key
      vsftpd_ssl_certificate: /etc/vsftpd/ssl/vsftpd.crt
      vsftpd_ssl_implicit: false
  • Безопасный FTP с неявным TLS (FTPs)
---
- hosts: host01
  gather_facts: yes
  become: yes
    - role: ansible-role-vsftpd
      vsftpd_ssl_enabled: true
      vsftpd_ssl_privkey: /etc/vsftpd/ssl/vsftpd.key
      vsftpd_ssl_certificate: /etc/vsftpd/ssl/vsftpd.crt
      vsftpd_ssl_implicit: true
  • Небезопасный FTP с виртуальными пользователями
---
- hosts: host01
  gather_facts: yes
  become: yes
    - role: ansible-role-vsftpd
      vsftpd_enable_virt_users: true
      vsftpd_virt_users:
        - username: xat
          password: xat
          guest_username: www-data
          local_root: /var/www/
          write_enable: yes
        - username: jdoe
          password: jdoe
          guest_username: www-data
          local_root: /var/www
          write_enable: no

Участвуйте

Планы на будущее

О проекте

Install and configure vsftpd FTP server.

Установить
ansible-galaxy install Xat59/ansible-role-vsftpd
Лицензия
lgpl-3.0
Загрузки
914
Владелец
IT passionate. #cloud #devops #terraform #ansible #k8s #aws #azure