ftp(wu-ftpd-2.6.1-20)の設定

[サーバの実験室 Redhat/Fedora]

作成 : 2002/08/15
修正 : 2003/08/17

"サーバの実験室"の検索


※FTPDについては、wu-ftpdからvsftpdに移行した。

Redhat Linux に wu-ftp をインストールすると、特別な設定なしで実ユーザ FTP ログインができるようになっている。 Redhatインストール途中に「FTPサーバ」をインストールするよう選択すると、もれなく anonymous(匿名) ftp もできるようになってしまうので、注意すること。

wu-ftpd-2.6.1-20のインストール

パッケージwu-ftpd-2.6.1-20-i386.rpmをインストールする。

# rpm -Uvh wu-ftpd-2.6.1-20-i386.rpm

/etc/ftpaccess の編集(root 許可)

セキュリティを考えると、root での ftp を許可してはいけない。 ftp のパスワードは、暗号化されずにネットワークに流れてしまう。 デフォルトでは、root での ftp は拒否するようになっている。

deny-uid %1-99 %65534-
deny-gid %1-99 %65534-
allow-uid ftp
allow-gid ftp

deny-uid と deny-gid で、allow-uid と allow-gid で指定されたユーザ以外を、FTP させないようにする。 root は uid = 0 / gid = 0 なので、deny からはずしておく。

class  inner  real  *.nina.jp

class で、ユーザ種別と接続元ホストを組み合わせて、クラスを定義する。 ここでは、*.nina.jp から接続しようとする実ユーザを、「inner」というクラス名で定義している。

/etc/ftpusers の編集(root 許可)

ftpusers には、FTP を許可しないユーザを記述する。 デフォルトでは root が指定されているので、これをはずしておく。

#root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

ipchainsの設定

すべてのホストから21番ポートへの接続を許可するよう、ipchainsを設定する。 詳細は、ipchainsの設定を見てね。 アクティブFTPを使用する場合は、20番ポートからクライアントに接続できるようにする。 パッシブFTPを使用する場合は、クライアントから接続するポートもあける必要がある。 アクティブFTPとパッシブFTPを参照。

-A input -s 0/0 -d 0/0 21 -p tcp -j ACCEPT

ルータの設定

21番ポート宛のパケットを、ローカルセグメントのFTPサーバに転送するよう設定する。 パッシブFTPを使用する場合は、クライアントから接続するポートも転送する。

ftp を起動時開始サービスに追加

ftpd サーバ起動時に開始されるように、ntsysvコマンドなどで設定する。 実際の ftpd は、xinetd から起動され、/var/xinet.d/wu-ftpd ファイルに設定が記述される。

xinetd の再起動

xinetd を再起動する。

# /etc/init.d/xinetd restart

[サーバの実験室 Redhat/Fedora]