Linux Tips

FTPでディレクトリ移動を制限するには(wu-ftpd編)

北浦訓行
2001/7/26

 FTPで特定のディレクトリから上にアクセスできなくする方法は、使用しているFTPのプログラムによって異なる。ここでは、wu-ftpdについて説明する。

 wu-ftpdの場合は、まず/home/ftpディレクトリにアクセスを制限したいユーザー(ここではnori)のサブディレクトリを作成する。

# mkdir /home/ftp/nori
# ls /home/ftp
bin/  etc/  lib/  nori/  pub/

 次に、/etc/passwdファイルを編集し、アクセスを制限したいユーザーを以下のように変更する。

nori:x:501:501::/home/nori:/bin/bash
変更前

nori:x:501:501::/home/ftp/./nori/:/bin/bash
変更後

 続いて、/etc/ftpd/ftpaccessに以下の記述を追加する。

guestgroup nori

 以上で設定は終了だ。FTPクライアントからアクセスして、設定が正しいかどうか確認しよう。

C:\>ftp gp6-450 ←FTPサーバにアクセス
Connected to gp6-450.
220 gp6-450.efield.co.jp FTP server ready.
User (gp6-450:(none)): nori ←ユーザーIDを入力
331 Password required for nori.
Password: ←パスワードを入力
230 User nori logged in. Access restrictions apply.
ftp> cd /etc ←/etcディレクトリに移動
250 CWD command successful.
ftp> ls ←ファイルの一覧を表示
200 PORT command successful.
550 Bad directory components ←表示できない

 上記の設定では、/home/ftpディレクトリをルートディレクトリに設定することにより、上位ディレクトリへのアクセスを制限している。従って、FTPで使用することの多いlsコマンドなども使用できなくなる(Turbolinux 6.0では、compress、cpio、gzip、ls、tar、zcatは使用可)。これを回避するには、/home/ftp/binなどに必要なプログラムやそのプログラムが使用するライブラリをコピーしておく必要がある。

 例えば、mkdirコマンドを使えるようにするには、以下のようにコピーする。また、コマンドを実行するにはライブラリが必要になる。必要なライブラリが分からない場合はlddコマンドで調べて(依存しているライブラリを調べるには参照)、/home/ftp/libディレクトリにコピーする。

# cp /bin/mkdir /home/ftp/bin

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間