|
|
ネットワーク 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 関連文書 対象製品
Last modified : Wed Apr 18 JST 2001 # 3
|
Copyright © Turbolinux, Inc..All Right Reserved.

