FreeBSD QandA 198
Q. ftpサーバを立ち上げたんですが、クライアントからanonymous ftpでログ
インして /pub/FreeBSD を覗きにいこうとすると "No such file or
directory" とか "FreeBSD: Too many levels of symbolic links." と言われ
て叱られてしまいます。何が悪いんでしょう。
A. ユーザ ftpで ftpサーバにログインしたときには ユーザ ftpのホームディ
レクトリが全体のルートとして位置付けられます。例えば passwdファイルの
中で /var/ftp をホームディレクトリとして指定している場合は ここがスター
ト地点となります。
この下に pub/というディレクトリがないと "No such file or directory" に
なります。
また /var/ftp の下に pub/を作らずに 別のディレクトリへのリンクを作って
いる場合は注意が必要です。というのは /var/ftp が / になるのでそれより
上には移動することが出来なくなります。例えば /var/ftp の下から
../../../usr/ftp/pub のようなリンクを作っても ..(1つ上) にはもう移動出
きません。/ディレクトリから ..に移動しても、もうそれより上は存在しない
ので /のままです。つまり../../../usr/ftp/pub は /var/ftpの下の
usr/ftp/pub へのリンクになります。それはきっと存在しないでしょうから
"No such file or directory" となるでしょう。
また ../pub にリンクを張った場合は、結局のところ /pub を指しますので
pubから pub、自分自身へのリンクになってしまいます。リンクがリンクを指
してそれがループしてしまうので "Too many levels of symbolic links."
と言われます。
このように リンクではうまく行かない場合には 直接そのDiskを
/var/ftp の下にmountしてしまうと楽です。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。