Red Hat Linuxなど多くのディストリビューションにはwu-ftpdというFTPサーバがインストールされているが、これには様々なセキュリティホールが発見されてて、あまりよくないらしい。
そこで、ProFTPD
というFTPサーバをインストールすることにした。
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
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
ProFTPDのソースをダウンロードして
/usr/local/srcにコピーし、展開する。
# cd /usr/local/src
# tar xvfz proftpd-1.2.0pre10.tar.gzconfigureによりMakeファイルを作成し、makeでコンパイルを行う。
# cd proftpd-1.2.0pre10
# ./configure
# makeコンパイルが正常に行えたら、インストールを行う。
# make install
1.ProFTPD設定ファイルの編集
インストールが正常に行えたら、
proftpd.confファイルを編集する。
# vi /usr/local/etc/proftpd.conf 以下の行を編集し、保存する。
ServerType inetd
・
・
User nobody
Groupnobody2.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 restart3.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
これで、Windowsマシンからftpソフトを使って今までと同様に接続できるはず。でも動いているのはwu-ftpdじゃなくてProFTPDである。
ProFTPDの設定で、inetdからの起動にしたが、実は単体でも立ち上がる。また、今までwu-ftpdでTCPWrapperを使っていた場合、TCPWrapperの設定を使ってProFTPDを起動することもできるらしい。
詳しくはProFTPD日本語サイトを見よう。
(私には良くわからない・・・)