LoginSignup
1
1

More than 3 years have passed since last update.

Dockerイメージ stilliard/pure-ftpd で複数ユーザ設定可能にする

Posted at

stilliard/pure-ftpd だとFTPユーザを複数設定しにくい

よく利用されているFTP用コンテナのひとつに stilliard/pure-ftpd があります。
https://hub.docker.com/r/stilliard/pure-ftpd
手軽にFTPサーバを用意でき、ユーザやパスワードも環境変数で決められます。

FTP_USER_UID
FTP_USER_GID
FTP_USER_NAME
FTP_USER_PASS
FTP_USER_HOME

楽ですね。

ただ、やや物足りないのが、上記のとおり、環境変数で設定できるのが1ユーザだけである点です。
複数ユーザ設定は当然需要があり、issueも起票されていますが、オーナからは「コンテナに入ってコマンド叩いてユーザ作成してねー」との案内に留まっています。
https://github.com/stilliard/docker-pure-ftpd/issues/136
ちょっと手間です。もっと良い方法はないものでしょうか。

atmoz/sftp のやり方を拝借する

というわけで、他から助けを借りることにします。
https://github.com/atmoz/sftp
上記はSFTP用のコンテナです。 ユーザ:グループ:ユーザID:グループID:ホームディレクトリ の形式を複数用意し、引数としてentrypointに渡してやれば、複数ユーザのいるSFTPコンテナを起動することができます。

該当のshellを stilliard/pure-ftpd に持ち込んで、複数ユーザ設定可能になるよう書き換えます。

  • stilliard/pure-ftpd を git clone して、
  • 環境変数でFTPユーザ設定するのはやめて、
  • 代わりに ユーザ:グループ:ユーザID:グループID:ホームディレクトリ の形式でentrypointの引数を用意してやって、
  • atmoz/sftp と同様、各引数に対して「validation」「ユーザ作成コマンド発行」を行うようにすればOKです

簡単ですね。

おわりに

この投稿では stilliard/pure-ftpd で複数ユーザ設定できようにする方法を書きました。
issueにもその旨コメントしている方がいるので、大体の人がやっている方法だと思います。
https://github.com/stilliard/docker-pure-ftpd/issues/136#issuecomment-649404150

それではごきげんよう。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1