ProFTPDでIPアドレスとユーザーでログイン制限を行う

FTPサーバの設定なんて長らくやってなくって、すっかり忘れてたのと設定方法が変わってるっぽいので、メモしておきます。

確認したのは、CentOS 5.4、yumにてインストールしたProFTPDで、バージョンは以下の通り。

$ proftpd -v
ProFTPD Version 1.3.2b

IPアドレスとユーザーでログイン制御

頻繁に訊かれる質問らしくようで、解決方法がそのものズバリで書かれている。

mod_ifsessionモジュールを組み込んで、アクセス制御の設定を行え、ってことらしい。具体的にはこんな感じらしい。

  <Class friends>
    From 192.168.0.0/24
  </Class>

  <IfUser kouichi>
    <Limit LOGIN>
      AllowClass friends
      DenyAll
    </Limit>
  </IfUser>

で、proftpd.confに設定を施してみたけど、動作しなかったので、モジュール自体が組み込まれてないのかと思い確認したら、組み込まれてませんでした。

うーん、IPアドレス制限の方は、TCP Wrapperで設定するって方向に持っていちゃおうかなぁ。

組込済モジュールの確認

以下のコマンドを実行することで確認できます。

$ /usr/sbin/proftpd -l
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_delay.c
  mod_facts.c
  mod_dso.c
  mod_ident.c
  mod_readme.c
  mod_auth_pam.c
  mod_tls.c
  mod_vroot.c
  mod_cap.c
  mod_ctrls.c
  mod_lang.c

proftpd.confの設定内容チェック

/etc/proftpd.confの設定内容が正しいかどうかのチェックは以下のコマンドを実行することできます。

$ sudo /usr/sbin/proftpd -t
Checking syntax of configuration file
Syntax check complete.