ckaserer.tftp
这是一个用于在 RHEL/CentOS 7 上安装 TFTP(简单文件传输协议)服务器的 Ansible 角色。该角色的主要职责包括:
- 安装必要的软件包
- 管理配置
- 管理 SELinux 设置
有关 TFTP 的更多相关文档,请参见:
要求
无。
角色变量
以下变量可以由管理员设置:
变量 | 默认值 | 备注(类型) |
---|---|---|
tftp_anon_write |
false | 指定 SELinux 是否允许修改文件的布尔值。 |
tftp_config |
/usr/lib/systemd/system/tftp.service | tftp 的 systemd 单元文件路径 |
tftp_group |
root | tftp_root_directory 的组 |
tftp_home_dir |
false | 指定 SELinux 的布尔值 |
tftp_mode |
0755 | tftp_root_directory 的权限 |
tftp_root_directory |
/var/lib/tftpboot | TFTP 服务的根目录路径 |
tftp_server_args |
--secure | 传递给服务器可执行文件的命令行参数 |
tftp_server_foreman_support |
false | 通过创建合适的 tftpd.map 启用 Foreman 支持 |
tftp_setype |
tftpdir_rw_t | TFTP 根目录的 SELinux 上下文 |
tftp_user |
root | tftp_root_directory 的所有者 |
依赖关系
没有依赖关系。
示例剧本
请参见 测试剧本
测试
该角色的测试以 Vagrant 环境的形式提供,保存在单独的分支 测试 中。我使用 git-worktree(1) 将测试代码包含到工作目录中。运行测试的说明:
- 获取测试分支:
git fetch origin tests
- 创建测试代码的 Git 工作树:
git worktree add tests tests
(注意:这需要至少 Git v2.5.0)。这将创建一个tests/
目录。 cd tests/
- 然后执行
vagrant up
将创建一个虚拟机并应用下面列出的两个可用测试剧本中的第二个。
测试剧本:
test-minimal.yml
将角色应用于虚拟机,使用默认设置(未设置角色变量)。test.yml
将角色应用于虚拟机,修改一些默认值。剧本还将一个名为 README 的文件放入 TFTP 根目录。应用此剧本后,您应该能够从主机系统获取该文件(假设安装了tftp
客户端):$ tftp 127.0.0.1 6969 -c get README
VM 上的 TFTP 端口(69)通过 NAT 接口转发到主机系统的 6969 端口,因此命令行中的 127.0.0.1 和端口号。
贡献
欢迎提出问题、功能请求和想法,可以发布在问题部分。也非常欢迎拉取请求。优先创建一个主题分支,并在提交时将您的提交合并为一个(并附上描述性信息)。
许可证
BSD
作者信息
Bert Van Vreckem (bert.vanvreckem@gmail.com)
贡献者:
- @ckaserer
- @kostyrevaa: Foreman 支持 (v1.2.0)
- @pugnacity
关于项目
Installs and configures a TFTP (Trivial File Transfer Protocol) server on RHEL/CentOS 7 and Ubuntu
安装
ansible-galaxy install ckaserer.tftp
许可证
other
下载
146.7k
拥有者
Anything related to Containers, CI/CD or general automation is fair game for him - give him a terminal and he is happy.