ckaserer.tftp

gplv3
维护

这是一个用于在 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) 将测试代码包含到工作目录中。运行测试的说明:

  1. 获取测试分支:git fetch origin tests
  2. 创建测试代码的 Git 工作树:git worktree add tests tests(注意:这需要至少 Git v2.5.0)。这将创建一个 tests/ 目录。
  3. cd tests/
  4. 然后执行 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)

贡献者:

关于项目

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.