プロが教える店舗&オフィスのセキュリティ対策術

MacOSX(10.3)で、アカウントをつくり、外部のWindowsからネット経由でFTPでログインすると、/Users/●●●●/ の上位階層、つまり、システムなどのある Macintosh HD の最上位階層まで見えているそうです。また、root権限のフォルダの中にも入ることができるそうです。Macからのネット経由のアクセスではちゃんと /Users/●●●●/ の ユーザーのディレクトリ以下しか見えないのですが。
これは仕様なのでしょうか? どのようにすればいいでしょうか? ちなみに、Macintosh HD 自体をオーナーと管理者以外の「その他」からのアクセスを「アクセス不可」に試しにしたところ、ネットへのアクセス自体できなくなったので(何かのファイルが書き込めなくなった?)、あわてて元に戻しました。
どなたか教えてください。

A 回答 (7件)

まず、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
}

これでホームディレクトリより上に上がる事が出来なくなるはずです。
    • good
    • 0
この回答へのお礼

本当に何度もすみません。こんなにていねいに教えていただけたら、きっとうまくいくはずと思います。
XcodeはAppleのサイトからダウンロードするのかと勘違いしていまして、そこにはPantherに含まれていると書かれていたので、このままでいいと思っていたら、同梱のインストールCDからインストールするのですね。
で、教えていただいたとおり、すすめて、

> sudo pico /usr/local/etc/proftpd.conf
> と打ち込みリターンします

の結果までうまくいったのですが、

> DefaultRootと言う記述があると思いますのでそこを

このDefaultRootというのが表示されていません。
テキストにしてDefaultで検索してもRootで検索しても見当たりません。
どこか間違えてしまったのでしょうか?

お礼日時:2003/11/10 14:46

うぅーん、、


設定変更してからxinetdの再起動の方はしてますでしょうか?
もししてるのなら次の事をしてみて下さい。

etc/xinetd.d/ftpの
/usr/local/sbin/proftpd
の部分を
/usr/local/sbin/in.proftpd
にしてもだめでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/11/13 18:01

10.3のアパッチではデフォルトで.htaccessが使えるようになってるので


ramファイルの方は.htaccessの記述でokだと思います。

/etc/xinetd.d/ftpの編集ですが
NO3で回答してるようにバックアップを取ってから
回答内容で最後の方に記述内容を回答してますので
sudo pico /etc/xinetd.d/ftp
として回答NO3の最後の記述内容に書き換えてやればokです。
後、
{
}
の間の記述をtabを使って行頭にスペースを空けて記述してやれば大丈夫ですよ。

この回答への補足

教えていただいたことをしたつもりでしたが、今度はなんと、リモートのスタッフから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
}

です。大変申し訳ないのですが、どこが違っているのか、ヒントだけでも教えていただけませんでしょうか?
(ちなみにチルダが上記では全角に見えますが、ターミナルでは半角で打ちました。)
たびたび申し訳ないのですが、よろしくお願いいたします。

補足日時:2003/11/13 14:10
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/11/11 02:19

えと、ramファイルについてはURLはあってますか?


それとサイト内に置いたmp3ファイルがブラウザで表示されるのは普通な動作ですよ。

後、proftpd.confの方に記述ですが出来れば
User   hoehoe
Group hoehoe
と書かれてる所の下にでも書いた方が分かりやすくていいですね。(hoehoeは分かりやすくするため適当です)

それとまだ上位ディレクトリが表示されるとのことですが
/etc/xinetd.d/ftp
のほうは編集しましたでしょうか?
こちらの方を編集してない限り
defaultのftpからProftpdを使うようになりません。
    • good
    • 0
この回答へのお礼

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 の編集ということですが、どこをどうすればいいのでしょうか?
教えてくださったサイトやほかのサイトも検索しながらじっくり進めていこうと思っているのですが、いろいろな用語があってよく飲み込めないでいます。ポイントだけでもアドバイスいただければさいわいです。
(明日、あさってと、イベントで出っぱなしになってしまい、帰宅するのが遅くなるため、対応が深夜になり、お返事がもしかして木曜になってしまうかもしれませんが、ごかんべんください。ご指導を長引かせてしまってすみません!)

お礼日時:2003/11/11 00:24

えっと、一応まず確認しておきます。


/usr/local/etc/
にproftpd.confはありますか?
確認の仕方はターミナルから
ls /usr/local/etc
で確認出来ます。

では、本題に入ります。
テキストにしたと言う事ですのでテキストエディタかなにかに記述をコピーしたと仮定して書かせていただきます。

まず、DefaultRootがなければproftpd.confに記述してやれば大丈夫ですよ。
記述は
DefaultRoot ~
でRootと~(チルダ)の間は半角スペースをあけてやってください。
ftpアクセスをSitesだけに限定する場合は
DefaultRoot ~/Sites

後、xinetd.dのftpの方の記述で下の方に書いたので
{

}
に囲まれた記述はtabキーで行頭にスペースをあけてやってください。
下の方にかいたのはなぜか記述にtabキーでスペース開けたはずのがスペース空いてないので...

この回答への補足

それから、直接、関係あるのかないのか分からないのですが、サイト内においた音声ファイルの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の変更と関係あるかもしれないと思い、お伺いします。
どこかの設定を変える必要があるのでしょうか。
関係ない質問でしたら、新たに質問を投稿したいと思いますが、関係あるのか関係ないのかも分からない状態なもので、よろしくお願いいたします。

補足日時:2003/11/10 20:37
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/11/10 20:37

えっと、configureを実行しようとして指定のアプリケーションがありませんと聞かれてるって事は


ファイルをダブルクリックしてるとみました。
この場合ファイルをダブルクリックするのではなくターミナルを使いコマンドラインでインストールと設定をします。

アプリケーション/ユーティリティ/にターミナルがありますのでダブルクリックで起動して下さい。

後、10.3ならXcodeをインストールしておかないとコンパイルが出来ないのでXcodeもインストールしてあげて下さい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/11/10 12:16

10.2以降のOSX標準ftpdのlukenftpdではchrootが出来ないので


proftpdを入れてやった方がいいと思います。

ここを参考にして入れてみて下さい。
http://www.kozupon.com/proftp/proftp1.html

後、OSXではinetdではなくxinetdを使ってますので
inetdデーモンからの起動は/etc/xinetd.d以下にあるftpのほうにしてあげてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/11/10 10:37

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