FreeBSD QandA 429

FreeBSD QandA

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 まで お知らせください。