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 の所有者 |
依存関係
依存関係はありません。
例のプレイブック
testのプレイブックを見てください。
テスト
このロールのテストは、別のブランチ tests に保持されているVagrant環境の形で提供されます。テストコードを作業ディレクトリに含めるために、 git-worktree(1) を使用します。テストを実行するための手順:
- テストブランチを取得します:
git fetch origin tests
- テストコード用のGitワークツリーを作成します:
git worktree add tests tests
(注:これは最低でもGit v2.5.0が必要です)。これによりtests/
ディレクトリが作成されます。 cd tests/
vagrant up
を実行すると、VMが作成され、下記の2つの利用可能なテストプレイブックのうちの2番目が適用されます。
テストプレイブック:
test-minimal.yml
は、デフォルト設定でVMにロールを適用します(ロール変数は設定されていません)。test.yml
は、VMにロールを適用し、いくつかのデフォルト値を変更します。このプレイブックは、TFTPルートディレクトリにREADMEという名前のファイルを配置します。このプレイブックを適用した後、ホストシステムからそのファイルを取得できるはずです(tftp
クライアントがインストールされている場合):$ tftp 127.0.0.1 6969 -c get README
TFTPポート(69)はNATインターフェイスを通じてホストシステムのポート6969にフォワードされるため、コマンドラインにある127.0.0.1とポート番号が必要です。
貢献
問題、機能リクエスト、アイデアは歓迎され、Issuesセクションに投稿できます。プルリクエストも非常に歓迎します。できれば、トピックブランチを作成し、提出時にコミットを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