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 : 当前虚拟用户重映射到指定的本地用户
- 必需 : 否
示例 : 请参见下面的示例。
- 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