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 : перенаправление текущего виртуального пользователя на указанного локального пользователя
- обязательно : Нет
Пример: см. примеры ниже.
- 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
Участвуйте
Планы на будущее
ansible-galaxy install Xat59/ansible-role-vsftpd