Proftpdでpam越しにldapの認証を使った

Proftpdでpam越しにldapの認証を使いたかった。

実はコレまでのproftpdの認証は、最も標準的である /etc/passwd あたりのファイルを見て認証をかけてた。だからproftpdはnisやldapと連携してなかった。

現にこれまではnisをunixのsystemの認証としていたのだけれど、それをproftpdでは使わず、nisのアカウントとunixのアカウントを手動で同期を取るというなんとも前時代的な運用をしていた。

現在管轄しているセグメントもほとんどのホストでldapに移行が完了しており、nisベースはほとんどなくなってきていたのでそろそろこのproftpdの認証回りもldapを使うようにしてあげないと、と思っていた。

一応profptdにはmod_ldapという自前でldap認証を行うモジュールがあるのだけれど、そこでいちいちフィルタやらdcやらを書いてやるのも面倒だなぁと思っていたし、ユーザごとにそこまで細やかに制限を入れる予定もなかった。制限といえばせいぜいrootでのログインを拒否するだとかそういったところだったので、その辺はproftpdの標準confでできるわけだった。

で、既にproftpdを動かすホストではpamでldapを使って認証してたので、このunixアカウント認証をそのままftpの認証系にしてしまうことにした。confはテキトウにググったら出てきた。

# pam
AuthOrder           mod_auth_pam.c* mod_auth_unix.c
AuthPAMConfig      system

上記の部分をconfに加えて再起動したらいけました。

最初はちょっと動かなかったりしたのでその点についてのメモ。
/etc/pam.dの中身にも依るのだけれど、pamには設定名っていうのがある。pam.dにあるファイルベースで設定名が決められている。proftpdでは標準でftpという設定名を使うのでpamのftpにldap使いますよと書いてないと有効にならない。ここで少しハマってしまった。

この辺のことは実は公式にちゃんと載ってて、ググってコピペで動かな~い、と困ってしまったことを反省。

 

以上

コメントを残す