この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
どーも。あいしんくいっと( @ithinkitnet)です。
過去に利用したことがあるVSFTPDを使いたかったのですが、VSFTPDはLDAP認証に対応していないことが分かりました。
強引に対応させる方法はあるようなのですが、少し調べた限りだとハードルが高そう。
LINUX使いならFTPサーバー位は構築出来ないとね!3分で出来るFTPサーバ構築!
なので今回は見送ることにしました。(悲しい)
それからLDAP認証に対応しているFTPソフトを調べたところ、Pure-FTPdもしくは、ProFTPDといったところが有力らしいことが分かりました。
どちらを使うか少し悩んだのですが、なんとな〜く名前の響き「Pure(純粋w)」な部分に惹かれたので、今回はPure-FTPdを使ってFTPサーバを構築してLDAP認証させてみたいと思います。
前提として既にLDAPサーバが存在しており、ユーザ情報くらいは引っ張ってこれるようになっていることとします
Pure-FTPdインストール
サクッとyumでPure-FTPdをインストールします。
# yum install pure-ftpd -y
RPMパッケージでPure-FTPdインストールすると、カレントディレクトリおよび設定ファイル類は以下になります。
# ls /etc/pure-ftpd/
pure-ftpd.conf pureftpd-ldap.conf pureftpd-mysql.conf pureftpd-pgsql.conf
ほう。最初からLDAP連携用の設定ファイル「pureftpd-ldap.conf」が存在しますね。
これはイイ!
Pure-FTPdのLDAP認証設定
では、Pure-FTPdのユーザ認証をLDAPで行うよう設定していきます。
念のため、オリジナルなファイルをバックアップしておきます。
# cp -p /etc/pure-ftpd/pureftpd-ldap.conf /etc/pure-ftpd/pureftpd-ldap.conf_org
続いて設定ファイル「pureftpd-ldap.conf」を編集します。
なお、今回認証に利用するLDAPサーバはOpenLDAPになります。
# vi /etc/pure-ftpd/pureftpd-ldap.conf
LDAPServer 192.168.1.100 #LDAPサーバ
LDAPBaseDN dc=hogehoge,dc=co,dc=jp #ベースDN
LDAPBindDN cn=Manager,dc=hoge,dc=co,dc=jp #管理者DN
LDAPBindPW hogepassword #管理者DNのパスワード
LDAPサーバへの接続情報を一通り設定したら、Pure-FTPdを起動します。
# systemctl start pure-ftpd
次回からPure-FTPdが自動起動するよう設定しておく。
# systemctl enable pure-ftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/pure-ftpd.service to /usr/lib/systemd/system/pure-ftpd.service.
Pure-FTPdの動作確認
LDAPユーザでログイン出来ることを確認してみる。
確認はWindows端末のコマンドプロンプトで実施。
>ftp 192.168.1.100
192.168.1.100 に接続しました。
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 15:04. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
200 OK, UTF-8 enabled
ユーザー (192.168.1.100:(none)): hoge
331 User hoge OK. Password required
パスワード:
230 OK. Current restricted directory is /
ftp> pwd
257 "/" is your current location
ftp> ls
200 PORT command successful
150 Connecting to port 58741
.
..
.history
.mailboxlist
.viminfo
226-Options: -a
226 8 matches total
ftp: 92 バイトが受信されました 0.00秒 23.00KB/秒。
ftp>
LDAPユーザでログイン出来ました。
では、試しにファイルアップロードしてみます。
ftp> put hoge.txt
200 PORT command successful
150 Connecting to port 58746
226 File successfully transferred
ftp> ls
200 PORT command successful
150 Connecting to port 58747
.
..
.history
.mailboxlist
.viminfo
hoge.txt
226-Options: -a
226 9 matches total
ftp: 102 バイトが受信されました 0.00秒 25.50KB/秒。
ftp>
無事ファイルアップロード出来ました。
FFFTPでPure-FTPdへ接続してみる
代表的なFTPクライアントソフトである「FFFTP」でもLDAPユーザでも利用出来るか試してみます。
アップロード/ダウンロードとも問題なく利用出来ました。
ithinkit
以上、あいしんくいっとでした♪( ´θ`)