proftpd
#######################################################################################################
:exclamation: УСТАРЕВШИЙ :exclamation:
Этот репозиторий и связанная с ним роль устарели в пользу Manala Ansible Collection
Вы найдете информацию о его использовании в репозитории коллекции
#######################################################################################################
Ansible Роль: ProFTPd
:exclamation: Сообщите о проблемах и отправьте запрос на добавление в основной репозиторий Ansible Role :exclamation:
Эта роль занимается настройкой ProFTPd.
Она является частью Manala Ansible стека, но также может использоваться как отдельный компонент.
Требования
Отсутствуют.
Зависимости
Отсутствуют.
Установка
Ansible 2+
Используя ansible galaxy cli:
ansible-galaxy install manala.proftpd
Используя файл требований ansible galaxy:
- src: manala.proftpd
Обработчики роли
Название | Тип | Описание |
---|---|---|
proftpd restart |
Service | Перезапустить сервер proftpd |
Переменные роли
Название | По умолчанию | Тип | Описание |
---|---|---|---|
manala_proftpd_install_packages |
~ | Массив | Пакеты-зависимости для установки |
manala_proftpd_install_packages_default |
['proftpd-basic'] | Массив | Пакеты-зависимости по умолчанию |
manala_proftpd_configs_exclusive |
false | Логический | Эксклюзивность конфигураций |
manala_proftpd_configs_dir |
'/etc/proftpd/conf.d' | Строка | Путь к директории с конфигурациями |
manala_proftpd_configs_defaults |
{} | Строка | Конфигурации по умолчанию |
manala_proftpd_configs |
[] | Массив | Конфигурации |
manala_proftpd_users_file |
'/etc/ftpd.passwd' | Строка | Путь к файлу определения аккаунтов пользователей |
manala_proftpd_users_template |
'users/_default.j2' | Строка | Путь к шаблону определения аккаунтов пользователей |
manala_proftpd_users_defaults |
{...} | Массив | Значения по умолчанию для пользователей ProFTPd |
manala_proftpd_users |
[] | Массив | Аккаунты пользователей ProFTPd |
Пример настройки
Ключ manala_proftpd_configs
предназначен для того, чтобы позволить вам определить конфигурацию на основе выбранного формата шаблона.
manala_proftpd_configs_exclusive
позволяет очистить существующие файлы конфигурации proFTPd в директории, определенной ключом manala_proftpd_configs_dir
. Это сделано для того, чтобы избежать влияния старых или вручную созданных файлов на текущую конфигурацию.
manala_proftpd_configs_exclusive: true
Можно указать состояние (present|absent).
manala_proftpd_configs:
# На основе словаря
- file: default.conf
config:
ServerName: Manala
PassivePorts: 10000 10030
DefaultRoot: "~"
AuthOrder: mod_auth_file.c
AuthUserFile: /etc/ftpd.passwd
RequireValidShell: false
# На основе массива словарей (устарело)
- file: default_deprecated.conf
config:
- ServerName: Manala
- PassivePorts: 10000 10030
- DefaultRoot: "~"
- AuthOrder: mod_auth_file.c
- AuthUserFile: /etc/ftpd.passwd
- RequireValidShell: false
# На основе содержимого
- file: content.conf
config: |
<Anonymous ~ftp>
User ftp
Group nogroup
</Anonymous>
# На основе шаблона
- file: template.conf
template: my_proftpd_template.conf.j2
config:
Foo: bar
# Убедиться, что конфигурации нет
- file: absent.conf
state: absent # "present" по умолчанию
# Игнорировать конфигурацию
- file: ignore.conf
state: ignore
# Собирать конфигурации
- "{{ my_custom_configs_array }}"
VirtualHost
Вы также можете использовать настройку VirtualHost
- file: virtual_host_foo.conf
config:
- VirtualHost ftp.foo.com:
- ServerName: Foo FTP Server
- MaxClients: 10
- MaxLoginAttempts: 1
- Limit LOGIN:
- Order: Allow,Deny
- AllowUser: foo
- Deny: from all
- DefaultRoot: "~"
- Directory /srv/ftp/docs:
- Limit ALL:
- DenyAll
Настройка аккаунтов пользователей
Используйте ключ manala_proftpd_users_template
для определения пользователей, которым разрешен доступ к FTP-хранилищу.
manala_proftpd_users_defaults:
uid: 1337 # Будет применен по умолчанию к пользователям
gid: 7331
manala_proftpd_users:
- name: manala
password: "$1$KBijsXOEr4"b$9HEyZDLPnSe3SXq0n66oE3y/"
home: /srv/my_dir
shell: /bin/false
- name: toto
password: "$1$9f19dba0ce5ece883b53275dcc1721b9"
home: /home/toto
shell: /bin/false
mode: "0755"
uid: 1000
gid: 1000
Мы настоятельно рекомендуем генерировать хэш пароля SHA2.
На Linux его можно сгенерировать с помощью:
echo -n yourpassword | mkpasswd --method=sha-512 -
Пример плейбука
- hosts: servers
roles:
- role: manala.proftpd
Лицензия
MIT
Информация об авторе
Manala (http://www.manala.io/) — это проект с открытым исходным кодом, поддерживаемый французским веб-агентством (ELAO)
ansible-galaxy install manala/ansible-role-proftpd