ProFTPDインストール

Red Hat Linuxなど多くのディストリビューションにはwu-ftpdというFTPサーバがインストールされているが、これには様々なセキュリティホールが発見されてて、あまりよくないらしい。
そこで、ProFTPDというFTPサーバをインストールすることにした。

1.既存のwu-ftpdを削除

1.wu-ftpdがインストールされているかどうかの確認

wu-ftpdがインストールされているかどうかを調べ、インストールされているかどうかを確認する。

# rpm -q wu-ftpd

2.wu-ftpdのアンインストール

wu-ftpdを削除しようとすると、anonftpが関連付けられているためできないというメッセージが出る。そこで、先にanonFTPを削除してからwu-ftpdを削除する。

# rpm -e anonftp
# rpm -e wu-ftpd

2.inetのインストール

Red Hat Linux 6.2Jインストールの際にanonFTPパッケージを選択しなかった場合、inetもインストールされていないので、インストールを行う。

1.inetがインストールされているかどうかの確認

inetがインストールされているかどうかを確認する。

# rpm -q inet

2.inetをインストールする

inetがインストールされていない場合、Red Hat Linux 6.2のインストールディスクをCD-ROMドライブにセットし、インストールする。

# mount /mnt/cdrom
# cd /mnt/cdrom/RedHat/RPMS
# rpm -ivh inetd-0.16-4.i386.rpm

3.ProFTPDインストール

ProFTPDのソースをダウンロードして/usr/local/srcにコピーし、展開する。

# cd /usr/local/src
# tar xvfz proftpd-1.2.0pre10.tar.gz

configureによりMakeファイルを作成し、makeでコンパイルを行う。

# cd proftpd-1.2.0pre10
# ./configure
# make

コンパイルが正常に行えたら、インストールを行う。

# make install

4.ProFTPDの設定

1.ProFTPD設定ファイルの編集

インストールが正常に行えたら、proftpd.confファイルを編集する。

# vi /usr/local/etc/proftpd.conf

以下の行を編集し、保存する。

ServerType inetd
  ・
  ・
User nobody
Group nobody

2.inet設定ファイルの編集

ProFTPDをinetデーモンとして起動させるために、inetd.confを編集する。

# vi /etc/inetd.conf

以下の行を編集し保存する。

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

ftp stream tcp nowait root /usr/local/sbin/proftpd proftpd

設定後、inetデーモンを再起動する。

# /etc/rc.d/init.d/inet restart

3.PAMの設定

Red Hat Linux 6.2Jでは認証にPAMを使用しているため、FTPユーザをPAMで認証させるための設定を行う。

/etc/pam.dにftpファイルを作成する。

# vi /etc/pam.d/ftp

以下の行を入力し、保存する。

auth required /lib/security/pam_unix.so
account required /lib/security/pam_unix.so

proftpd.confファイルをviで開く。

# vi /usr/local/etc/proftpd.conf

MaxInstancesの下あたりに次の行を入力し、保存する。

# PAMで認証する
AuthPAMAuthoritative on
# PAMに渡すサービス名
PAMConfig ftp

5.接続確認

これで、Windowsマシンからftpソフトを使って今までと同様に接続できるはず。でも動いているのはwu-ftpdじゃなくてProFTPDである。

6.補足

ProFTPDの設定で、inetdからの起動にしたが、実は単体でも立ち上がる。また、今までwu-ftpdでTCPWrapperを使っていた場合、TCPWrapperの設定を使ってProFTPDを起動することもできるらしい。
詳しくはProFTPD日本語サイトを見よう。
(私には良くわからない・・・)


[ TOP ]