ディレクトリへのハードリンクを作成するには?

[上に] [前に] [次に]
Seven Three 1999/09/02(木) 23:09:26
Anonymous FTPとHTTPでファイルを共有しようと思い,以下のようにしてハードリンクを貼りました。

username:/ftp/username/pub$ ln /home/username/www/files/data.zip data.zip

これで管理者にとって幾らかは便利になったのですが,ファイルを追加するたびにリンクを作るのも面倒です。それで以下のようにしてみました。

username:/ftp/username/pub$ ln /home/username/www/files/ files

すると,「hard link not allowed for directory」というエラーメッセージが出てしまいます。シンボリックリンクなら作成できるのですが,匿名でアクセスできなくなります。ディレクトリ自体にハードリンクを貼ることはできるはずですが,困りました。

どうすれば上手く行くと思われますか。

B-Cus 1999/09/03(金) 05:56:57
ディレクトリにハードリンクは張れません。なぜなら、循環ディレクトリが
できる可能性があるから。

Solarisだと、rootのみがディレクトリのハードリンクを作成できます。
FreeBSDではrootであっても不可能です。

Seven Three 1999/09/03(金) 14:56:06
なるほど,Linuxのしかも一般ユーザーではできないわけですね。早速のお返事ありがとうございました。

結局,新しいファイルをアップロードするたびにTelnetの操作をしなければいけないわけですね。ファイルの共有をもっと楽に行なう方法はないものでしょうか……。

B-Cus 1999/09/03(金) 15:09:48
逆はできんの? もしAnonymous FTPがsymlink先を参照できないなら、
FTPディレクトリに実体を置いて、WWWサーバ側からsymlink 張れば
いいでしょう。apache側なら設定次第(FollowSymlinks)で symlink先を
見られるでしょうし。

あるいはcronで、symlink張ったりcpしたりするスクリプトを
1時間に一回動かすとかさ。

Seven Three 1999/09/03(金) 15:38:54
> cronで、symlink張ったりcpしたりするスクリプトを
> 1時間に一回動かす
ファイルをアップロードしたらすぐに利用可能としたいのですが,こういう方法だとちょっと時間差が出そうですね。

> WWWサーバ側からsymlink
403 Forbiddenが出てしまいました。設定変更を運営者側に頼んでみます。(あまり評判の良くないレンタルサーバーなので,すんなりやってくれるかは分かりませんが)

Seven Three 1999/09/03(金) 16:24:06
Options Indexes FollowSymLinks

ディレクトリの.htaccessに上記の一行を設定すると完璧にうまく行きました。なんか自由度が高すぎるような気もします(^^;

B-Cusさん,的確なアドバイスをありがとうございました。

Seven Three 1999/09/03(金) 16:33:41
[[解決]]
解決マークを忘れていました。

もう一つ問題が生じたので,スレッドを分けて質問します。

[上に] [前に] [次に]