• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OSXにWindowsからFTPでアクセスすると上位階層まで見えてしまう)

OSXでFTPアクセスすると上位階層が見えてしまう問題について

このQ&Aのポイント
  • MacOSX(10.3)で、外部のWindowsからネット経由でFTPでログインすると、/Users/●●●●/ の上位階層まで見えてしまう問題が発生しています。
  • また、root権限のフォルダの中にも入ることができるため、セキュリティ上のリスクが懸念されています。
  • この問題を解決するためには、適切なファイアウォールの設定やアクセス権の制限が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Gaultier
  • ベストアンサー率56% (64/113)
回答No.3

まず、sudo等のコマンドを使う場合はrootユーザーを有効にしておかないといけませんので アプリケーション/ユーティリティ/ にNetinfoマネージャと言うアプリケーションがありますので起動します。 Netinfoを起動したらメニューバーにあるセキュリティをクリックしてrootユーザーを有効をクリックして管理者パスワードを入力してrootユーザーのパスワードを設定して下さい。 そして、Xcondeの方もインストールします。 で、上記2つの作業が終わればターミナルを開いてから cd 解凍したproftpフォルダをドラッグ でリターンを押すとそのディレクトリに移動出来てるはずなので ./configure と入力しリターンを押します で、configure作業が終わるまでしばらく時間がかかるのでほっておきます configureが終了したら次に make と入力してリターンします これもまた時間がかかるのでしばらくほっておきます。 で、makeが終われば sudo make install と入力してパスワードを聞かれるのでパスワードを入力してリターンでインストール自体は終わりです。 後は設定ですが /usr/local/etcにproftpd.confが出来てますのでそれを編集します。 ターミナルから sudo pico /usr/local/etc/proftpd.conf と打ち込みリターンします DefaultRootと言う記述があると思いますのでそこを DefaultRoot ~ としてcontrol+Xを押しyボタンを押しreturnで保存してあげると ホームディレクトリより上にあがれなくなりますのでrootディレクトリ等を見られる心配は無くなります。 また、その部分を DefaultRoot ~/Sites としてやるとそのユーザーのSitesディレクトリより上に上がる事も出来なくなります。 次に最後の仕上げとしてxinetdの方の設定をしてやります まずターミナルから sudo cp /etc/xinetd.d/ftp ~/Desktop/ftp-backup とでもしてオリジナルの設定をバックアップします と打ち込んでやります。(注:この時デスクトップに出来るftp-backupは捨てないで保存しておいて下さい。) 以下のように記述してファイルを保存してftpを再起動してあげて下さい。 { disable = yes socket_type = stream wait = no user = root server = /usr/local/sbin/proftpd #server_args = -l groups = yes flags = REUSE } これでホームディレクトリより上に上がる事が出来なくなるはずです。

baku
質問者

お礼

本当に何度もすみません。こんなにていねいに教えていただけたら、きっとうまくいくはずと思います。 XcodeはAppleのサイトからダウンロードするのかと勘違いしていまして、そこにはPantherに含まれていると書かれていたので、このままでいいと思っていたら、同梱のインストールCDからインストールするのですね。 で、教えていただいたとおり、すすめて、 > sudo pico /usr/local/etc/proftpd.conf > と打ち込みリターンします の結果までうまくいったのですが、 > DefaultRootと言う記述があると思いますのでそこを このDefaultRootというのが表示されていません。 テキストにしてDefaultで検索してもRootで検索しても見当たりません。 どこか間違えてしまったのでしょうか?

その他の回答 (6)

  • Gaultier
  • ベストアンサー率56% (64/113)
回答No.7

うぅーん、、 設定変更してからxinetdの再起動の方はしてますでしょうか? もししてるのなら次の事をしてみて下さい。 etc/xinetd.d/ftpの /usr/local/sbin/proftpd の部分を /usr/local/sbin/in.proftpd にしてもだめでしょうか?

baku
質問者

お礼

ありがとうございます。 もう一度、教えていただいたとおり、設定変更、xinetdの再起動をじっくりやり直したところ、うまく行きました! チェックしていたリモート側のスタッフがFTPを再起動したからかもしれません。(プロキシ経由だった?) ほんとうにご親切に教えていただき、ありがとうございました。おかげさまで、初心者にもかかわらず、なんとかサーバーを運用していくことができそうです。 感謝いたします。

  • Gaultier
  • ベストアンサー率56% (64/113)
回答No.6

10.3のアパッチではデフォルトで.htaccessが使えるようになってるので ramファイルの方は.htaccessの記述でokだと思います。 /etc/xinetd.d/ftpの編集ですが NO3で回答してるようにバックアップを取ってから 回答内容で最後の方に記述内容を回答してますので sudo pico /etc/xinetd.d/ftp として回答NO3の最後の記述内容に書き換えてやればokです。 後、 { } の間の記述をtabを使って行頭にスペースを空けて記述してやれば大丈夫ですよ。

baku
質問者

お礼

いろいろ初歩的なところまで教えていただいて本当にありがとうございます。教えていただいたとおり、なんとかこぎつけたと思います。 あとは、明日あさっての間にスタッフにアクセスしてもらって、検証してみて、木曜あたりに結果報告とお礼をさせていただきます。 ありがとうございました。

baku
質問者

補足

教えていただいたことをしたつもりでしたが、今度はなんと、リモートのスタッフからFTPに接続すること自体できなくなってしまいました。どこか間違ってしまったでしょうか? どうすればいいか見当もつかないため、途方に暮れています。 それで、恐縮しつつ、ターミナルの該当の行をペーストさせていただいて、見ていただくということはできますでしょうか? ◆ まず、ProFTPDのほうは # This is a basic ProFTPD configuration file (rename it to # 'proftpd.conf' for actual use. It establishes a single server # and a single anonymous login. It assumes that you have a user/group # "nobody" and "ftp" for normal operation and anon. ServerName "ProFTPD Default Installation" ServerType standalone DefaultServer on # Port 21 is the standard FTP port. Port 21 # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask 022 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd). MaxInstances 30 # Set the user and group under which the server will run. User nobody Group nobody DefaultRoot ~ # To cause every FTP user to be "jailed" (chrooted) into their home # directory, uncomment this line. # Normally, we want files to be overwriteable. <Directory /> AllowOverwrite on </Directory> # A basic anonymous configuration, no upload directories. If you do not # want anonymous users, simply delete this entire <Anonymous> section. <Anonymous ~ftp> User ftp Group ftp # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Limit the maximum number of anonymous logins MaxClients 10 # We want 'welcome.msg' displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin welcome.msg DisplayFirstChdir .message # Limit WRITE everywhere in the anonymous chroot <Limit WRITE> DenyAll </Limit> </Anonymous> です。 ◆ 次に、xinetd.dのほうは、 { disable = yes socket_type = stream wait = no user = root server = /usr/local/sbin/proftpd #server_args = -l groups = yes flags = REUSE } です。大変申し訳ないのですが、どこが違っているのか、ヒントだけでも教えていただけませんでしょうか? (ちなみにチルダが上記では全角に見えますが、ターミナルでは半角で打ちました。) たびたび申し訳ないのですが、よろしくお願いいたします。

  • Gaultier
  • ベストアンサー率56% (64/113)
回答No.5

えと、ramファイルについてはURLはあってますか? それとサイト内に置いたmp3ファイルがブラウザで表示されるのは普通な動作ですよ。 後、proftpd.confの方に記述ですが出来れば User   hoehoe Group hoehoe と書かれてる所の下にでも書いた方が分かりやすくていいですね。(hoehoeは分かりやすくするため適当です) それとまだ上位ディレクトリが表示されるとのことですが /etc/xinetd.d/ftp のほうは編集しましたでしょうか? こちらの方を編集してない限り defaultのftpからProftpdを使うようになりません。

baku
質問者

お礼

ramファイルの中身のURLはあってます。遠隔のMacのスタッフからramファイルは通常にrmを再生したと言ってきましたので、これは解決したようですが、ただ、私の手元では変わらずramファイルをクリックすると「connection to server could not be established. You may be experiencing network problems.」というエラーダイアログが出ます。どこか設定しないといけないのでしょうか? あとmp3ファイルはこれまでMacだとクリックでダウンロードになっていました(Windowsでは再生ですが)ので、動作が変わりましたが、とりあえず再生できるので感謝です。 以前プロバイダのレンタルスペースを使っていた時、「.htaccess」ファイルで「AddType audio/x-pn-realaudio .ra .ram」とかした覚えがあるのですが、それはここでは関係ないですよね? proftpd.confの記述の位置も教えていただきありがとうございます。書き直しました。 /etc/xinetd.d/ftp の編集ということですが、どこをどうすればいいのでしょうか? 教えてくださったサイトやほかのサイトも検索しながらじっくり進めていこうと思っているのですが、いろいろな用語があってよく飲み込めないでいます。ポイントだけでもアドバイスいただければさいわいです。 (明日、あさってと、イベントで出っぱなしになってしまい、帰宅するのが遅くなるため、対応が深夜になり、お返事がもしかして木曜になってしまうかもしれませんが、ごかんべんください。ご指導を長引かせてしまってすみません!)

  • Gaultier
  • ベストアンサー率56% (64/113)
回答No.4

えっと、一応まず確認しておきます。 /usr/local/etc/ にproftpd.confはありますか? 確認の仕方はターミナルから ls /usr/local/etc で確認出来ます。 では、本題に入ります。 テキストにしたと言う事ですのでテキストエディタかなにかに記述をコピーしたと仮定して書かせていただきます。 まず、DefaultRootがなければproftpd.confに記述してやれば大丈夫ですよ。 記述は DefaultRoot ~ でRootと~(チルダ)の間は半角スペースをあけてやってください。 ftpアクセスをSitesだけに限定する場合は DefaultRoot ~/Sites 後、xinetd.dのftpの方の記述で下の方に書いたので { } に囲まれた記述はtabキーで行頭にスペースをあけてやってください。 下の方にかいたのはなぜか記述にtabキーでスペース開けたはずのがスペース空いてないので...

baku
質問者

お礼

重ね重ね本当にごていねいにありがとうございます。 ls /usr/local/etcで確認すると、roftpd.confと表示されました。 proftpd.confに記述するというのは、ターミナル上のproftpdについての文章の文末に書き足せばいいのでしょうか? いちおう文末に書き込んでリターンしてみました。 ところが、リモートのスタッフに見てもらったところ、まだ上位階層が見えているそうです。どこか間違ったでしょうか?

baku
質問者

補足

それから、直接、関係あるのかないのか分からないのですが、サイト内においた音声ファイルのrmファイルはこれまでどおり再生&ダウンロードできるのですが、ramのほうがそこにおいてあるrmをストリーミング再生するはずのところ、Macだと(サーバー上でもリモート再生でも)rm が再生されず、コネクションが確立していないというエラーダイアログが出てしまいます。また、また、mp3 ファイルを開くと、これまでは、Macではダウンロードが始まっていたのに、いまは、ブラウザの新規ページに埋め込みの形で(QuickTimePlayerで)mp3 の再生が始まります。(Windowsでアクセスするとrm,ram,mp3ともふつうに再生されるそうです。) 最近、OKWebで質問してどなたかに教えていただいた、アップロードした時のアクセス属性の変更を、 sudo sh -c 'echo "umask all 022" > /etc/ftpd.conf' としたためなのかもしれませんが、もしかして、今回のFTPの変更と関係あるかもしれないと思い、お伺いします。 どこかの設定を変える必要があるのでしょうか。 関係ない質問でしたら、新たに質問を投稿したいと思いますが、関係あるのか関係ないのかも分からない状態なもので、よろしくお願いいたします。

  • Gaultier
  • ベストアンサー率56% (64/113)
回答No.2

えっと、configureを実行しようとして指定のアプリケーションがありませんと聞かれてるって事は ファイルをダブルクリックしてるとみました。 この場合ファイルをダブルクリックするのではなくターミナルを使いコマンドラインでインストールと設定をします。 アプリケーション/ユーティリティ/にターミナルがありますのでダブルクリックで起動して下さい。 後、10.3ならXcodeをインストールしておかないとコンパイルが出来ないのでXcodeもインストールしてあげて下さい。

baku
質問者

お礼

重ね重ね感謝します。ターミナルで開くんですね。全然分かってないもので。 で、開き方も分からないので、ターミナルがドラッグ&ドロップに対応しているとヘルプに書いてあったので、とりあえずドロップしてみましたが、何が起こったのかさえ分かりません。 教えていただいた参考URLに書いてあるコマンドをどうすればいいのか、ディレクトリが見つからないとか、コマンド(makeとかも)が違うとか言われて途方に暮れています。 コマンドのヒントだけでも教えていただけませんでしょうか?よろしくお願いいたします。

  • Gaultier
  • ベストアンサー率56% (64/113)
回答No.1

10.2以降のOSX標準ftpdのlukenftpdではchrootが出来ないので proftpdを入れてやった方がいいと思います。 ここを参考にして入れてみて下さい。 http://www.kozupon.com/proftp/proftp1.html 後、OSXではinetdではなくxinetdを使ってますので inetdデーモンからの起動は/etc/xinetd.d以下にあるftpのほうにしてあげてください。

baku
質問者

お礼

ありがとうございます。標準のFTPの問題だったんですね。 それで、お教えいただいたとおり、proftpdをダウンロードして、configureを実行しようとしたのですが、「書類”configure”を開くために指定されているデフォルトのアプリケーションがありません」というダイアログが出て、アプリケーションを選択するように指示が出ます。 どのアプリケーションで開けばよいのか分かりません。教えていただけませんでしょうか?

関連するQ&A