xat59.vsftpd

Opis

Zainstaluj i skonfiguruj serwer FTP vsftpd.

Funkcje:

  • lokalni użytkownicy
  • wirtualni użytkownicy
  • chrooting
  • nieszyfrowane / tls v1
  • jawny i ukryty TLS
  • kilka instancji vsftpd

Nie obejmuje:

  • Tworzenie certyfikatu i klucza SSL

Instalacja roli

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

Zmienne

  • vsftpd_enable_local_users : Włącz połączenia lokalnych użytkowników
    Uwaga : Jeśli vsftpd_enable_virt_users jest 'true', wartość tej zmiennej zostanie nadpisana na 'true'

    • wymagane : Nie
    • domyślna wartość : true
    • opcje : true lub false
  • vsftpd_chroot_local_users : Włącz chrooting dla lokalnych użytkowników
    Uwaga : Chrooting użytkowników wymaga, aby użytkownik był chrootowany w poprawnej (właściciel i tryb) ścieżce chroot

    • wymagane : Nie
    • domyślna wartość : false
    • opcje : true lub false
  • vsftpd_ftp_banner : Banner powitalny przy pierwszym połączeniu

    • wymagane : Nie
    • domyślna wartość : Prywatny serwer FTP
  • vsftpd_passive_min_port : Minimalny numer portu dla połączenia danych
    Uwaga : przydatne dla konfiguracji zapory

    • wymagane : Nie
  • vsftpd_passive_max_port : Maksymalny numer portu dla połączenia danych
    Uwaga : przydatne dla konfiguracji zapory

    • wymagane : Nie
  • vsftpd_passive_address : Adres IP do połączenia

    • wymagane : Nie
  • vsftpd_ssl_enabled : Włącz lub wyłącz wsparcie dla SSL

    • wymagane : Nie
    • domyślna wartość : false
    • opcje : true lub false
  • vsftpd_ssl_privkey : Ścieżka do klucza certyfikatu SSL

    • wymagane : jeśli vsftpd_ssl_enabled jest 'True'
  • vsftpd_ssl_certificate : Ścieżka do certyfikatu SSL

    • wymagane : jeśli vsftpd_ssl_enabled jest 'True'
  • vsftpd_ssl_implicit : Włącz lub wyłącz ukryty TLS
    Jeśli włączony, handshake SSL jest pierwszą rzeczą, którą oczekuje się na wszystkich połączeniach (FTPs)
    Jeśli wyłączony, włączony jest jawny TLS (FTPes)

    • wymagane : Nie
    • domyślna wartość : true
    • opcje : true lub false
  • vsftpd_systemd_service_name : Nazwa instancji vsftpd
    Uwaga : Jeśli zdefiniowana na nowo, plik konfiguracyjny vsftpd i plik usługi systemd będą dziedziczyć tę nazwę. Jeśli nie jest zdefiniowana na nowo, plik konfiguracyjny i plik usługi systemd zachowają swoje domyślne wartości.
    Przykład przy ustawieniu vsftpd_systemd_service_name na 'vsftpd-implicit', plik konfiguracyjny będzie /etc/vsftpd/vsftpd-implicit.conf, a plik usługi systemd to vsftpd@vsftpd-implicit.service.

    • wymagane: Nie
    • domyślna wartość : vsftpd
  • vsftpd_guest_username : Użytkownik gość (wszyscy nieanonimowi) jest przemapowywany na prawdziwego użytkownika określonego w tym ustawieniu.

    • wymagane: Nie
  • vsftpd_enable_virt_users : Włącz wirtualnych użytkowników na instancji vsftpd
    Uwaga : ustawienie tej zmiennej na 'true' nadpisze zmienną vsftpd_chroot_local_users na 'true'.

    • wymagane : Nie. Jednak, jeśli musisz zdefiniować wirtualnych użytkowników za pomocą vsftpd_virt_users, musisz ustawić vsftpd_enable_virt_users na 'True'.
    • domyślna wartość : false
    • opcje : true lub false
  • vsftpd_no_log : Wyłącz logowanie zadań, które obsługują wrażliwe informacje

    • wymagane : Nie.
    • domyślna wartość : true
    • opcje : true lub false
  • vsftpd_virt_users : Lista włączonych wirtualnych użytkowników z nadpisaniami parametrów dla każdego użytkownika

    • wymagane: Nie

      Dostępne parametry dla każdego użytkownika :

      • username : aktualna nazwa użytkownika wirtualnego
        • wymagane : Tak
      • password : aktualne hasło użytkownika wirtualnego
        • wymagane : Tak
      • local_root : aktualny katalog domowy użytkownika wirtualnego
        • wymagane : Nie
      • write_enable : aktualne uprawnienie do zapisu użytkownika wirtualnego
        • wymagane : Nie
      • guest_username : aktualny użytkownik wirtualny przemapowany na określonego lokalnego użytkownika
        • wymagane : Nie

      Przykład: zobacz poniższe przykłady.

Użycie

  • Nieszyfrowany FTP
---
- hosts: host01
  gather_facts: yes
  become: yes
    - role: ansible-role-vsftpd
  • Szyfrowany FTP z jawnym 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
  • Szyfrowany FTP z ukrytym 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
  • Nieszyfrowany FTP z wirtualnymi użytkownikami
---
- 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

Współpraca

Plan działania

O projekcie

Install and configure vsftpd FTP server.

Zainstaluj
ansible-galaxy install xat59.vsftpd
Licencja
lgpl-3.0
Pobrania
930
Właściciel
IT passionate. #cloud #devops #terraform #ansible #k8s #aws #azure