xat59.vsftpd

描述

安装和配置 vsftpd FTP 服务器。

功能:

  • 本地用户
  • 虚拟用户
  • 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
    启用时,在所有连接 (FTPs) 上首先期望 SSL 握手
    禁用时,启用显式 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
  • 显式 TLS 的安全 FTP (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
  • 隐式 TLS 的安全 FTP (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.vsftpd
许可证
lgpl-3.0
下载
930
拥有者
IT passionate. #cloud #devops #terraform #ansible #k8s #aws #azure