manala.proftpd

#######################################################################################################

:exclamation: 廃止のお知らせ :exclamation:

このリポジトリと関連する役割は、Manala Ansible Collection に取って代わられました。

利用方法については、コレクションリポジトリを参照してください。

#######################################################################################################

Ansible Role: ProFTPd Build Status

: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)が支援するオープンソースプロジェクトです。

プロジェクトについて

Handle proftpd

インストール
ansible-galaxy install manala.proftpd
ライセンス
Unknown
ダウンロード
8.1k
所有者
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.