manala.proftpd
#######################################################################################################
:exclamation: 廃止のお知らせ :exclamation:
このリポジトリと関連する役割は、Manala Ansible Collection に取って代わられました。
利用方法については、コレクションリポジトリを参照してください。
#######################################################################################################
Ansible Role: ProFTPd 
:exclamation: 問題の報告や プルリクエストの送信は、メインのAnsible Roleリポジトリで行ってください。 :exclamation:
この役割は、ProFTPdの設定を扱います。
これはManala Ansibleスタックの一部ですが、単独のコンポーネントとしても使用できます。
要件
なし。
依存関係
なし。
インストール
Ansible 2以上のバージョンが必要です。
Ansible Galaxy CLIを使用する場合:
ansible-galaxy install manala.proftpd
Ansible Galaxy要件ファイルを使用する場合:
- src: manala.proftpd
役割ハンドラ
名前 | タイプ | 説明 |
---|---|---|
proftpd restart |
サービス | proftpdサーバを再起動する |
役割変数
名前 | デフォルト | タイプ | 説明 |
---|---|---|---|
manala_proftpd_install_packages |
~ | 配列 | インストールする依存パッケージ |
manala_proftpd_install_packages_default |
['proftpd-basic'] | 配列 | デフォルトの依存パッケージ |
manala_proftpd_configs_exclusive |
false | ブール | 設定の排他性 |
manala_proftpd_configs_dir |
'/etc/proftpd/conf.d' | 文字列 | 設定ディレクトリのパス |
manala_proftpd_configs_defaults |
{} | 文字列 | 設定のデフォルト |
manala_proftpd_configs |
[] | 配列 | 設定 |
manala_proftpd_users_file |
'/etc/ftpd.passwd' | 文字列 | ユーザーアカウント定義ファイルのパス |
manala_proftpd_users_template |
'users/_default.j2' | 文字列 | ユーザーアカウント定義テンプレートのパス |
manala_proftpd_users_defaults |
{...} | 配列 | ProFTPdユーザーアカウントのデフォルト |
manala_proftpd_users |
[] | 配列 | ProFTPdユーザーアカウント |
設定例
manala_proftpd_configs
キーは、選択したテンプレート形式に基づいて設定を定義できるように作られています。
manala_proftpd_configs_exclusive
は、既存のproFTPd設定ファイルをmanala_proftpd_configs_dir
キーで定義されたディレクトリにクリーンアップすることを許可します。これにより、古いまたは手動で作成されたファイルが現在の設定に影響を与えないようにします。
manala_proftpd_configs_exclusive: true
状態(present|absent)を指定できます。
manala_proftpd_configs:
# 辞書形式
- file: default.conf
config:
ServerName: Manala
PassivePorts: 10000 10030
DefaultRoot: "~"
AuthOrder: mod_auth_file.c
AuthUserFile: /etc/ftpd.passwd
RequireValidShell: false
# 辞書の配列形式(廃止予定)
- file: default_deprecated.conf
config:
- ServerName: Manala
- PassivePorts: 10000 10030
- DefaultRoot: "~"
- AuthOrder: mod_auth_file.c
- AuthUserFile: /etc/ftpd.passwd
- RequireValidShell: false
# コンテンツベース
- file: content.conf
config: |
<Anonymous ~ftp>
User ftp
Group nogroup
</Anonymous>
# テンプレートベース
- file: template.conf
template: my_proftpd_template.conf.j2
config:
Foo: bar
# 設定を存在しない状態にする
- file: absent.conf
state: absent # デフォルトは "present"
# 設定を無視する
- file: ignore.conf
state: ignore
# 設定をフラット化する
- "{{ my_custom_configs_array }}"
VirtualHost
VirtualHost設定も使用できます。
- file: virtual_host_foo.conf
config:
- VirtualHost ftp.foo.com:
- ServerName: Foo FTP Server
- MaxClients: 10
- MaxLoginAttempts: 1
- Limit LOGIN:
- Order: Allow,Deny
- AllowUser: foo
- Deny: from all
- DefaultRoot: "~"
- Directory /srv/ftp/docs:
- Limit ALL:
- DenyAll
ユーザーアカウント設定
manala_proftpd_users_template
キーを使用して、FTPストレージにアクセスできるユーザーを定義してください。
manala_proftpd_users_defaults:
uid: 1337 # ユーザーにデフォルトで適用されます
gid: 7331
manala_proftpd_users:
- name: manala
password: "$1$KBijsXOEr4"b$9HEyZDLPnSe3SXq0n66oE3y/"
home: /srv/my_dir
shell: /bin/false
- name: toto
password: "$1$9f19dba0ce5ece883b53275dcc1721b9"
home: /home/toto
shell: /bin/false
mode: "0755"
uid: 1000
gid: 1000
SHA2パスワードハッシュを生成することを強くお勧めします。
Linuxでは、次のコマンドで生成できます:
echo -n yourpassword | mkpasswd --method=sha-512 -
例のプレイブック
- hosts: servers
roles:
- role: manala.proftpd
ライセンス
MIT
作者情報
Manala (http://www.manala.io/) は、フランスのウェブエージェンシー(ELAO)が支援するオープンソースプロジェクトです。
ansible-galaxy install manala.proftpd