FreeBSD QandA 429
Q. anonymous FTP サービスにおいて、シンボリックリンク先のファイルやデ
ィレクトリが参照できません。
A. ユーザ ftp のホームディレクトリを /home/ftp とした場合、anonymous
FTP でアクセスすると /home/ftp に chroot され、/home/ftp がルートディ
レクトリ (/) となります。このため、
- /home/ftp をルートディレクトリとするディレクトリツリーの外を参照する
ことはできません
- シンボリックリンク先が絶対パスとして指定されている場合、そのパスが
/home/ftp を / としたパスになっていないと参照することができません
対処法は、/home/ftp 以下のファイルに対して相対パスでシンボリックリンク
ファイルを作成するか、/home/ftp をルートディレクトリとした絶対パスを指
定してシンボリックリンクファイルを作成することです。
例)
anonymous FTP ユーザから見て /foo/bar が /hoge を指すようにシンボリッ
クリンクを作成する場合:
方法1. 絶対パスでリンク先を指定する
$ cd /home/ftp/foo
$ ln -s /hoge bar
方法2. 相対パスでリンク先を指定する
$ cd /home/ftp/foo
$ ln -s ../hoge bar
方法 1 の場合、作業の際に broken symbolic になるか、システムのルートデ
ィレクトリ上のものを指してしまいます。方法 2 では作業中でもシンボリッ
クリンク先が実体を指すので、設定ミスを起こしにくいでしょう。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。