QNo.224256でzzZZZさんが「LinuxでのFTPについて」質問されていましたが、私も偶然同じ質問をしようと思っていたのでy2000さんのANo#3を参考にしながら設定しました。そして希望通りにできました。
しかし、/homeのHDD容量を増やすため外付けHDDを増設しこれを/home2として/home/userから/home2へシンボリックリンクをリンクしていたのですが、Ano#3の設定をするまではftpからリンク先にアクセスできていたのに、これ以降はアクセスできなくなりました。
シンボリックリンク先にでもftpでアクセスできるようにするにはどうしたらいいでしょうか?
OSはRedHatLinux7.0j、ftpはwu-ftpdです。

A 回答 (1件)

アクセス制限をかけるために /home/userに chrootしているので、


実ファイルシステムで /home/userより下にないものは見えません。
というか見えたらあまり意味がない...(^_^;

/home2 に mount しているディスクを /home/user/home2にmountして
ln -s /home/user/home2 / とかすればみえるとは思います。

# それよりは、/home/user配下を全部 /home2にコピーして
# /home2を /home/userにマウントするようにするのが楽かも。
    • good
    • 0
この回答へのお礼

h_hikitaさん。ありがとうございます。

>見えたらあまり意味がない...(^_^;
おっしゃるとおりです。見えないようにしたいのに、、

そこでシンボリックリンクではなくuserのホームディレクトリを/home2としました。

ありがとうございました。

お礼日時:2002/02/28 20:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QFTPからシンボリックリンクを参照できない

USBのハードディスクをFTPからシンボリックリンクで参照したいのでが
うまくできません。
ln -s /mnt/sda1/hoge/ hoge
相対パス
ln -s ../../mnt/sda1/hoge/
でも駄目でした。

cd hogeで
コマンドラインからは問題なくいけるのですが
ftpからそのリンクをたどろうとすると
/home/ftp/ルートに設定してありhogeは見えるのですが
たどろうとすると
550 hoge: No such file or directory.
とでます。
同一のデバイスからだと問題なくFTPからたどれます。

デバイス:/dev/sda1
マウントポジション:/mnt/sda1/hoge/
OS:RH7.3
FTPデーモン:wuftpd
クライアント:ffftp1.92

Aベストアンサー

anonymous ftpでは、chrootされるので、その外側のファイルシステムは見えません。

マウントポイントを/home/ftp以下に作成する必要があります。

Qシンボリックリンクの問題

いつもお世話になっております

シンボリックリンクを使う際に問題が発生しました。

#ln -s /mnt/hdb/user/test /home/user/test

で、ユーザディレクトリに/mnt/hdb/user/testというディレクトリに向けてtestというシンボリックリンクを張ります。

#ls /home/user/ -F
test@

ls -Fで確認したところ、シンボリックリンクファイルtestを上記のように確認できます。しかしながら、cdコマンドを実行すると、

#cd /home/user/test
#pwd
/mnt/hdb/user/test

になるはずですが、

#cd /home/user/test
#pwd
/home/user/test

なってしまいました。

これの原因で(推測)外からffftpで /home/user/testをアクセスしようとすると、No such file or directoryというエラーが出ました。

この問題どう解決できますか、ご教授よろしくお願いします。

ちなみに
/mnt/hdb は増設したハードディスクをマウントしたところ
使用システム はFedora 4

いつもお世話になっております

シンボリックリンクを使う際に問題が発生しました。

#ln -s /mnt/hdb/user/test /home/user/test

で、ユーザディレクトリに/mnt/hdb/user/testというディレクトリに向けてtestというシンボリックリンクを張ります。

#ls /home/user/ -F
test@

ls -Fで確認したところ、シンボリックリンクファイルtestを上記のように確認できます。しかしながら、cdコマンドを実行すると、

#cd /home/user/test
#pwd
/mnt/hdb/user/test

になるはずですが、

#cd /home/us...続きを読む

Aベストアンサー

> #cd /home/user/test
> #pwd
> /mnt/hdb/user/test
>
> になるはずですが、
>
> #cd /home/user/test
> #pwd
> /home/user/test
>
> なってしまいました。

これはシェルによってどちらになるかが決まっています。bash だと後者、Solaris などの sh だと前者になります。bash でも、set -P を事前に発行しておけば前者になります。どちらがいいかは AP 特性に依存するので使い分けるべきでしょう。

> これの原因で(推測)外からffftpで /home/user/testをアクセスしようと
> すると、No such file or directoryというエラーが出ました。

それが原因ではなく、シンボリック・リンクを使っている事が問題だと思います。Linux の FTP ではデフォルトで chroot が有効になっていると思いますが、その状況から判断して恐らくシンボリック・リンクは許されないのではないでしょうか。(このことは試しに root ユーザで chroot /mnt/hdb/user/test、chroot /home/user/test を試してみれば分かるかと思います)

となると、/etc/passwd を編集してホームディレクトリを /mnt/hdb/user/test にするしかないのではないかと思います。

> #cd /home/user/test
> #pwd
> /mnt/hdb/user/test
>
> になるはずですが、
>
> #cd /home/user/test
> #pwd
> /home/user/test
>
> なってしまいました。

これはシェルによってどちらになるかが決まっています。bash だと後者、Solaris などの sh だと前者になります。bash でも、set -P を事前に発行しておけば前者になります。どちらがいいかは AP 特性に依存するので使い分けるべきでしょう。

> これの原因で(推測)外からffftpで /home/user/testをアクセスしようと
> すると、No such ...続きを読む

QUnixのシンボリックリンクファイルをWindowsマシンへコピーする際の問題回避方法

UNIXのファイル群をバックアップの為にWindowsからFTPでgetしているのですが、シンボリックリンクファイルをWindowsにFTPするとエラーで途中で転送が停止してしまいます。

リンク状況はなるべく保持した形でバックアップを取りたいのですがどうしたらよいでしょうか?

考えられる方法として、(1)UNIXのシンボリックリンクをaliasに変換しながらGetするようなツールはあるのでしょうか?
また(2)UNIX上で取り合えずシンボリックリンクの一覧を表示させたいのですが、どのようなコマンドがありますでしょうか? (find のオプションをチェックしているのですが良い方法が分からなかったので...)

symbolic linkファイルを元ファイルで置き換え(cp -fpr等でリンク元がコピーされる)更にどのような置き換えをしたかログを残したく思っています。

以上宜しくお願いします。

Aベストアンサー

(2) の方だけですが
find . -type l

Q「ご連絡いたします」は敬語として正しい?

連絡するのは、自分なのだから、「ご」を付けるのは
おかしいのではないか、と思うのですが。
「ご連絡いたします。」「ご報告します。」
ていうのは正しい敬語なのでしょうか?

Aベストアンサー

「お(ご)~する(いたす)」は、自分側の動作をへりくだる謙譲語です。
「ご連絡致します」も「ご報告致します」も、正しいです。

文法上は参考URLをご覧ください。

参考URL:http://www.nihongokyoshi.co.jp/manbou_data/a5524170.html

Qアスキー、バイナリーの違い、注意点(FFFTP)

「アスキー」「バイナリー」
FFFTPこの二つのモードがありますが、用途の境目がわかりません。

FFFTPでJavaファイルを上げる場合なのですが、
ローカル(Windows)のサーバー側(Linux)へFFFTPで転送する際に
作業現場では“バイナリー”で上げて欲しいと言われています。

私の考えでは、
テキスト(人間が読める言語)という定義のアスキーの設定で上げるものだと思っていたので驚いたのですが、何故Javaファイルをバイナリー設定で上げる事になるのでしょうか?


[現時点でまとめてある認識]

アスキー
--------------------------------------------------------------
(1)基本的に人間が読めるテキストベースのファイルモード
(2)サーバの設定に合わせて改行コードが変換してファイルを上げる
(3)テキストファイル系(txt/html/JS/CSS..)

バイナリー
--------------------------------------------------------------
(1)基本的に機械が読み込む為のファイルモード
(2)ファイルを上げた際に何も起こらず、そのままファイル上げることができる。
(3)画像ファイル・音楽ファイル系(jpg/GIF/PNG/mp3..)


この認識の上ですと、
“Javaファイルは人間が読めるもので、テキストファイルである”ということから、“アスキー”で上げるのが妥当だとは思っています。

Javaファイルを“バイナリー”で上げる理由は何なのでしょうか?
コンパイルの際に改行コードが変換されると不都合があるからなのでしょうか?


認識で間違っている点がございましたら、
ご指摘・ご教授の程宜しくお願いします。




参考サイト様
-------------------------------------------------------
ttp://www.res-system.com/item/339
ttp://www.komakusa.net/internet/appendix.html
ttp://www.wanichan.com/beginner/pc/win19.htm

「アスキー」「バイナリー」
FFFTPこの二つのモードがありますが、用途の境目がわかりません。

FFFTPでJavaファイルを上げる場合なのですが、
ローカル(Windows)のサーバー側(Linux)へFFFTPで転送する際に
作業現場では“バイナリー”で上げて欲しいと言われています。

私の考えでは、
テキスト(人間が読める言語)という定義のアスキーの設定で上げるものだと思っていたので驚いたのですが、何故Javaファイルをバイナリー設定で上げる事になるのでしょうか?


[現時点でまとめてある認識]

アス...続きを読む

Aベストアンサー

まずコンピューター(LinuxもWindows)から見れば、
ファイルに対して「アスキー」なんていう属性はなく
テキストファイルを含め
どんなファイルでもバイナリファイル(0と1のデジタルデータ)です。

ffftpでは
アスキーモードでアップロードすると
Cr,Lfの改行コードがLfに置換され
逆にダウンロードする際は
LfがCr,Lfに置換されます。

これはWindowsの標準の改行コードがCr,Lfで
LinuxやUNIXがLfを標準の改行コードにしている為ですが
昨今の優秀なWindowsのテキストエディタは
ほとんどの文字コードに対応し、改行コードも設定できます。
ですからわざわざ「アスキー」でアップロードする意味がなくなってきています。
(WindowsでLfの改行で保存し、バイナリでアップすれば良い。
逆にこのファイルをアスキーでダウンロードするとCrLfになります。)

どちらにしても改行コードを統一するメリットはあります。
例えばviエディタでCr,Lfのファイルを開くと「CTRL+M」とかでて見づらいですし、
Lfだけだと、昔のWindowsのメモ帳等で開くと改行されません。
(Linuxをsambaで直接みてる人にとってはCr,Lfの方が都合が良い場合もあります。)
またVSSやSVN等のバージョン管理ソフトを使っていると、改行コードが変わっただけで
ファイルに変更があったと勘違いされてしまいます。
そういう場合、意図しない改行コードの変換があっては困ります。

#1さんの言われるように仕様的に問題があるのかもしれません。
あとはclassファイルを誤ってアスキーで転送するミスが少なくなる
ぐらいでしょうか。

ただ作業現場の人に理由を聞かないと推測の域をでません。

まずコンピューター(LinuxもWindows)から見れば、
ファイルに対して「アスキー」なんていう属性はなく
テキストファイルを含め
どんなファイルでもバイナリファイル(0と1のデジタルデータ)です。

ffftpでは
アスキーモードでアップロードすると
Cr,Lfの改行コードがLfに置換され
逆にダウンロードする際は
LfがCr,Lfに置換されます。

これはWindowsの標準の改行コードがCr,Lfで
LinuxやUNIXがLfを標準の改行コードにしている為ですが
昨今の優秀なWindowsのテキストエディタは
ほとんどの文字コー...続きを読む

Qjavaで週の最初の日(例:月曜日)を求める事ができるのでしょうか?

javaで指定した日付の曜日を取得できたのですが、
(例:今日(2002/07/16)なら、「火」を取得)
指定した日の週の最初の日付を取得する事ができるのでしょうか?
(例:今日(2002/07/16)なら、今週の月曜(2002/07/15)の日付を取得)

もし、何か分かることがありましたら、ご教授お願い致します。

Aベストアンサー

訂正です。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=316650
に記述しましたが、No.6の回答に記述した

------
今のように1週間単位で日付を動かしている場合には影響はないでしょうが、例えば1月1日から13ヶ月動かすと、DAY_OF_WEEKやDAY_OF_YEARなど、不変式ではない小さいフィールドは調整されないようなので、この場合には注意が必要だと思いますが。。。
------
というのは、現状では的を外した指摘です。すみませんm(_ _)m
上記のURLでも記述しているように、getメソッドで値を取得する限り、
この条件は影響を受けないと思われます。。。

# addメソッドでカレンダーを移動するのが正しいです


> Calendar cal = new GregorianCalendar(2002, 8-1, 2);
> cal.setFirstDayOfWeek(Calendar.MONDAY);
> int week = cal.get(Calendar.DAY_OF_WEEK);    ←1
> cal.add(Calendar.DATE, Calendar.SUNDAY - week); ←2
> System.out.println(cal.getTime());
>
> このソースを実行しても、2002年7月28日(日)が出力されました。
> 自分のイメージでは2行目で、週の先頭を月曜にしたので、
> 日曜日は週の最後となり、2002年8月4日(日)が出力されると思っていました。
>
> 考え方が間違っていると思うのですが、どうしてよいかわかりませんので、
> 解る事がありましたらご教授お願い致します。


考え方として間違っているのは、1の場所です。
> int week = cal.get(Calendar.DAY_OF_WEEK);
としていますが、これはsetFirstDayOfWeek()で週の先頭を変更しても値は
変わりません。
というのは、週の先頭を変更しても当日(8/2)は金曜日だからです。

# setFirstDayOfWeekでは、あくまでも週の先頭となる値を指定された
# ものに変更するためのメソッドであり、カレンダー自体のフィールドを
# 再計算する(Calendar.MONDAY=1 に変更する)ようなものではないです。

このため、2つのコードのどちらでもweekには6(金曜日)が入ります。
こうなると、weekの値が同じなので2の位置でadd()によって計算された日付は
7/28の日曜日という結果になります。

訂正です。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=316650
に記述しましたが、No.6の回答に記述した

------
今のように1週間単位で日付を動かしている場合には影響はないでしょうが、例えば1月1日から13ヶ月動かすと、DAY_OF_WEEKやDAY_OF_YEARなど、不変式ではない小さいフィールドは調整されないようなので、この場合には注意が必要だと思いますが。。。
------
というのは、現状では的を外した指摘です。すみませんm(_ _)m
上記のURLでも記述しているように、getメソッドで値を取得する限り、...続きを読む

Qrcpコマンドについて、教えて!

rcpコマンドが使えないです。
どうやって使えるようになるでしょうか?
教えてください。
お願いします。

Aベストアンサー

うまく行かない原因として2つ考えられます。
1) ファイルのパーミッション
 .rhostsは他人から書き込みが出来る属性になっていると無効です(セキュリティを守るため)
 ls -l .rhosts として、属性が rw-rw-rw- 等であれば、chmod 600 .rhosts として他人からの書き込みを禁止する必要があります。

2) ホスト名の認識(逆引き)が出来るか
 .rhosts にホスト名とユーザ名を書いた場合、そのホスト名が相手ホスト側から認識できる必要があります。
 telnet で相手ホストにログインしてみて、who コマンドを実行すると、どのホストからtelnetしているかが右のほうに表示されると思いますが、もしIPアドレスが表示されれば、.rhosts にも IPアドレス ユーザ名 と書く必要があります。whoコマンドでホスト名が表示される場合もその表示された通りを.rhostsファイルに書く必要があります。(whoでホスト名が表示される場合でも.rhostsにIPアドレスを書いても良いです。)

Qデータを削除しても表領域の使用率が減りません

いつもお世話になっております。

今使用している表領域の使用率が高くなってきたため、
不要なテーブルやデータを削除しました。

ですが、少ししか使用率が減らず困っています。

テーブルを削除した際にはPURGE RECYCLEBINで、BIN~のテーブルも
消しています。

何か他に原因があるのでしょうか?

Aベストアンサー

前の方のおっしゃるとおり、DELETEしただけでは領域は開放されません(ハイウォーターマークが下がらない)ので、以下を試してみてください。

1.該当テーブルの全件削除で良い場合
truncate テーブル名 drop storage;
を実行する。
これで領域も開放されます。(最後のところをreuse storageとすると領域保持する意味となる)

2.部分的にdeleteして、領域を開放したい場合
alter table テーブル名 enable row movement;
alter table テーブル名 shrink space cascade;
alter table テーブル名 disable row movement;
を実行する。
1行目は領域開放の前準備、3行目は1行目の変更を元に戻す意味。
2行目でcascadeしておくと、関連インデックスの領域も一緒に縮小してくれます。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む


人気Q&Aランキング

おすすめ情報