weareinteractive.vsftpd

Rola Ansible weareinteractive.vsftpd

Status budowy Galaxy Tagi GitHub Gwiazdy GitHub

weareinteractive.vsftpd to rola Ansible, która:

  • instaluje vsftpd
  • konfiguruje vsftpd
  • zarządza użytkownikami

Uwaga:

Ponieważ Ansible Galaxy teraz wspiera organizacje, ta rola została przeniesiona z franklinkim.vsftpd do weareinteractive.vsftpd!

Instalacja

Za pomocą ansible-galaxy:

$ ansible-galaxy install weareinteractive.vsftpd

Za pomocą requirements.yml:

- src: weareinteractive.vsftpd

Za pomocą git:

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

Zależności

  • Ansible >= 2.4
  • {"rola"=>"weareinteractive.openssl", "gdy"=>["vsftpd_enable_ssl|default(true)"], "tagi"=>["openssl-dependency", "dependencies", "openssl"]}

Zmienne

Oto lista wszystkich domyślnych zmiennych dla tej roli, dostępnych również w defaults/main.yml.

---
#
# vsftpd_users:
#   - username: ftpuser
#     name: Użytkownik FTP
#     state: obecny (domyślnie) lub nieobecny
#     remove: tak lub nie (domyślnie)
#     comment: Użytkownik FTP do transferu plików
#     uid: 13370
#     home: /ścieżka/do/katalogu
#     password: "{{ 'ftpuser' | password_hash('sha256', 'mysecretsalt') }}"
# vsftpd_config:
#   local_umask: 022
# vsftpd_seboolean:
#    ftp_home_dir: tak
#    ftpd_full_access: nie
#

# definicja pakietu (wersja)
vsftpd_package: vsftpd
# użytkownicy do utworzenia z nologin
vsftpd_users: []
# uruchom przy starcie
vsftpd_service_enabled: tak
# aktualny stan: uruchomiony, zatrzymany
vsftpd_service_state: uruchomiony
# włącz ssl domyślnie
vsftpd_enable_ssl: prawda
# domyślny klucz ssl
vsftpd_key_file: ssl-cert-snakeoil.key
# domyślny certyfikat ssl
vsftpd_cert_file: ssl-cert-snakeoil.pem
# zmienne konfiguracyjne
vsftpd_config: {}
# szablon konfiguracyjny do zainstalowania, względny do głównego katalogu repozytorium ansible
vsftpd_config_template:
# opcjonalne booleany SELinux do ustawienia np. dla RedHat
vsftpd_seboolean: {}

Handlerzy

Oto handlerzy zdefiniowane w handlers/main.yml.

---

- name: zrestartuj vsftpd
  service:
    name: vsftpd
    state: zrestartowany
  when: vsftpd_service_state != 'stopped'
  # Ignoruj błędy z powodu: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754762;msg=9
  ignore_errors: tak

Użytkowanie

Oto przykładowy playbook:

---

- hosts: all
  roles:
    - weareinteractive.vsftpd
  vars:
    vsftpd_users:
       - username: ftpuser
         name: Użytkownik FTP
         password: "{{ 'ftpuser' | password_hash('sha256', 'mysecretsalt') }}"
    vsftpd_config:
      listen_port: 990
      local_enable: TAK
      write_enable: TAK
      chroot_local_user: TAK
      xferlog_enable: TAK
      log_ftp_protocol: TAK
      allow_writeable_chroot: TAK

Testowanie

$ git clone https://github.com/weareinteractive/ansible-vsftpd.git
$ cd ansible-vsftpd
$ make test

Wkład

Zamiast formalnego przewodnika stylu, dbaj o zachowanie istniejącego stylu kodu. Dodaj testy jednostkowe i przykłady dla każdej nowej lub zmienionej funkcjonalności.

  1. Forkuj to
  2. Utwórz swoją gałąź z funkcją (git checkout -b my-new-feature)
  3. Zatwierdź swoje zmiany (git commit -am 'Dodaj nową funkcję')
  4. Wypchnij do gałęzi (git push origin my-new-feature)
  5. Utwórz nowe zgłoszenie Pull Request

Uwaga: Aby zaktualizować plik README.md, zainstaluj i uruchom ansible-role:

$ gem install ansible-role
$ ansible-role docgen

Licencja

Copyright (c) We Are Interactive na licencji MIT.

O projekcie

Installs, configures and adds user for vsftpd

Zainstaluj
ansible-galaxy install weareinteractive.vsftpd
Licencja
mit
Pobrania
204.9k
Właściciel