• お問い合わせ
  • ユーザー登録
ドキュメント
サポート案内
ユーザー登録
サポートセンター
ドキュメント
ダウンロード
セキュリティ
よくある質問とその回答
製品マニュアル
カタログ
収録パッケージ一覧


ネットワーク No. 97

FTPクライアントから指定ディレクトリより上を見えなくする方法


wu-ftpdにおいて、外部からFTPログインしたユーザに対して、匿名FTPディレクトリ(/home/ftp/)
よりも上位のディレクトリへのアクセスをさせないようにする設定方法についてご紹介
いたします。
ProFTPDの場合は設定方法が異なりますので、関連文書をご参照ください。

【手順】

(1) /etc/passwd の編集

アクセス制限を設定したいユーザ(たとえばtaro)のホームディレクトリを以下のように
'/./'で2つに区切ります。区切られた2つのパスは、初めに第1のパスが chroot に渡され、
第2のパスが、chdir に渡されて処理されます。

[/etc/passwd]<変更前>
--------------------------------------------
taro:***:502:502::/home/taro:/bin/bash
--------------------------------------------

[/etc/passwd]<変更後>
--------------------------------------------
taro:***:502:502::/home/ftp/./taro/:/bin/bash
--------------------------------------------

(2) ディレクトリの作成

# cd /home/ftp
# mkdir taro

(3) /etc/ftpd/ftpaccess の編集

以下の記述を加えます。

[/etc/ftpd/ftpaccess]
------------------------
guestgroup taro
------------------------

これにより、外部からFTPでログインするとchroot("/home/ftp")が実行され、"/home/ftp"
がルートディレクトリになりますが、このため上位にあるディレクトリへのアクセスが
一切できなくなるため、/bin/lsなども利用できません。
そこで、必要なファイルをすべて/home/ftp以下に配置しておかなければなりません。

(以下の設定は、初期状態で行われているので、通常行う必要はありません。)

# mkdir /home/ftp/bin
# mkdir /home/ftp/lib
# mkdir /home/ftp/etc

lsコマンドなどとそれが必要とするライブラリをコピーします。

# ldd /bin/ls (lsが必要とするライブラリを調べる)
libc.so.6 => /lib/libc.so.6 (0x40007000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)

(これにより /bin/ls の動作には /lib/libc.so.6 /lib/ld-linux.so.2の2つが必要で
あることが分かる。rm,mkdir,rmdirも同じ)

設定例:

/home/ftp/bin:
---x--x--x   1 root     root        16268 May 17  2000 compress*
---x--x--x   1 root     root        48860 May 17  2000 cpio*
---x--x--x   1 root     root        48348 May 17  2000 gzip*
---x--x--x   1 root     root        48652 May 17  2000 ls*
---x--x--x   1 root     root       144884 May 17  2000 tar*
lrwxrwxrwx   1 root     root            4 Dec  1 02:08 zcat -> gzip*

/home/ftp/etc:
-r--r--r--   1 root     root           53 May 17  2000 group
-rw-r--r--   1 root     root        24886 May 17  2000 ld.so.cache
-rw-r--r--   1 root     root           73 Nov 30 17:26 localtime
-r--r--r--   1 root     root           79 May 17  2000 passwd

/home/ftp/lib:
-rwxr-xr-x   1 root     root        74700 May 17  2000 ld-2.1.3.so*
lrwxrwxrwx   1 root     root           11 Nov 30 17:26 ld-linux.so.2 -> ld-2.1.3
.so*
-rwxr-xr-x   1 root     root       976852 May 17  2000 libc-2.1.3.so*
lrwxrwxrwx   1 root     root           13 Nov 30 17:26 libc.so.6 -> libc-2.1.3.s
o*
-rwxr-xr-x   1 root     root        80304 May 17  2000 libnsl-2.1.3.so*
lrwxrwxrwx   1 root     root           15 Nov 30 17:26 libnsl.so.1 -> libnsl-2.1
.3.so*
-rwxr-xr-x   1 root     root        34360 May 17  2000 libnss_files-2.1.3.so*
lrwxrwxrwx   1 root     root           21 Nov 30 17:26 libnss_files.so.2 -> libn
ss_files-2.1.3.so*

キーワード
ftp ftpaccess

関連文書
  • [369]anonymous ftp サイトの開き方

    対象製品
  • TurboCluster Server 4.0
  • Turbolinux Server 6.1
  • Turbolinux Advanced Server 6
  • Turbolinux Server 6.0
  • Turbolinux Workstation 6.0 LE
  • Turbolinux Workstation 6.0
  • Turbolinux Pro 4.2
  • Turbolinux 4.0
  • Turbolinux 3.0
    Last modified : Wed Apr 18 JST 2001 # 3