« March 2005 | Main | May 2005 »

ftpでの階層制限

さてさて、悩んでいた問題がもう一つ解決してしまった。
OS XでSeverしているとき、デフォルトだとFTPでログインした場合、そのユーザーのフォルダ以外の
階層もいくらでも閲覧できちゃうってこと。
読み書きは出来ないんだけど、ファイル名が見れちゃうだけでもセキュリティ上はとっても不安。
それの制限方法がいろんなところで調べても上手くできなかったんだけど、
成功したのでこちらも備忘録。
(UNIX詳しい人から見たらあまりに初歩的なことを書いているので笑われそうだけど、
 僕と同じMac OS Xで自宅サーバー入門、っていう人のヒントになれば幸いです)

方法は簡単。

1.ターミナルで、
sudo pico /etc/ftpchroot
と入力してpico(テキストエディタ)を呼び出す。

2.そこに、ftpの階層を制限したいユーザー名を書き込む。

ユーザー名その1
ユーザー名その2
ユーザー名その3
・・・

と言う風に。

3.それを保存して(control+o→return)、picoを脱出(control+x)。

以上、たったこれだけ!
これで、そのユーザーのフォルダ以上の階層にあがれなくなります。

おお〜、1年以上悩んでいたのにあっさりだ。

| | TrackBack (0)

Mac OS Xで自宅サーバーのhttpアクセス制限

Mac OS Xは自宅サーバーにするのが簡単なので、やっている人も多いハズ。
で、ウチもやっていて、ずっとやりたかったんだけどわからなかったのが、
「ホームページ(http)にパスワード認証をかける」と言うこと。
UNIXとかサーバー関係の人なら初歩の初歩なんだろうけど・・・
なので、覚書きついでにここに載せておきます。

サーバーマシンのターミナルで以下のように打ち込みます。

1.
sudo pico /etc/httpd/users/マシン上のアカウント名.conf  の
AllowOverride None を
AllowOverride All に変更する
(これで、このあと設置する.htaccessファイルが参照される設定になる)
(picoはcontrol+o→returnでファイル保存、control+xで脱出)

2.
sudo mkdir /usr/local/passwd/
sudo htpasswd -c /usr/local/passwd/パスワードを記述するファイル名(例:passwords) ユーザー名
(-cは初回設定のみ。新規作成の意味。)
でユーザーのパスワードを設定する。 (パスワード入力を2回求められるので入力。)

sudo chmod 604 /usr/local/passwd/passwords

でアクセス権を設定。なぜ604(rw----r--)がいいのかは僕はUNIXに詳しくないのでわからんけど。

3.
次にパスワード認証したいdirectoryに.htaccessファイルを作成する

sudo pico /Users/マシンのアカウント名/Sites/アクセス制限したいフォルダ/.htaccess
で、.htaccessファイルを以下のように記述。

AuthType Basic
AuthName "認証の時に表示させたいメッセージ文(日本語不可かな?)"
AuthUserFile /usr/local/passwd/上記で設定したパスワードを記述するファイル名(例:passwords)
AuthGroupFile /dev/null
Require valid-user

4.
そしたら、
sudo chmod 604 /Users/マシンのアカウント名/Sites/アクセス制限したいフォルダ/.htaccess
でまたアクセス権を設定

5.
sudo apachectl graceful
でapache再起動(もしくはパーソナルWeb共有を一度切って再度ONにする)

これでパスワード要求される様になります。
もしも、これをやって、500 Sever Internal Errorとかブラウザで出てきちゃったら、
たぶん
.htaccessの中身を記述間違いしたりしているかもなのでチェックしましょう。

| | TrackBack (0)

« March 2005 | Main | May 2005 »