Re: WEBサーバの考え方 ( No.1 ) |
|
- æ¥æï¼ 2006/03/20 21:30
- ååï¼ 管理者
- いっちゃんさん、こんにちは。
> 私の場合ドリームウィーバーに付属の機能(FTP)にてDataを転送しようと試みたのですが、 > 今の私のサーバー側の設定ですと、rootユーザーではFTPにての接続は禁止になっておりますので > ユーザーとしてFTPにログインしなくてはいけない状態ですが、それですと設定の転送場所に > / の箇所にしか移動できません(ユーザーHOME) 皆様ご存知の通り、HPを公開するには > /var/www/http/ へデータをぶち込まないといけませんので・・・ > そこを変更する方法と言うのはやはりあるものなのでしょうか? htmlアップロード専用ユーザを作成されては如何でしょうか? 例として以下をご検討してみて下さい。
特定のユーザのログイン先を変更するには?(http://kajuhome.com/tips/tips_07_002.shtml) ログイン先を「/var/www/http/」にすれば対応できるかと・・・
> それともう1つですが、私の場合WEBサーバーを構築した切っ掛けですが、例えば、 > 知人など身内周りでHPを立てたい人が居る時に私のサーバーを使えるようにしたいのですが、 > その場合、Apache側にユーザーのIDとパスを決めるのではなく、Fedora4自体に > それぞれのアカウントを付くっていくものなのでしょうか? それですと、もしその登録者が > 私のPCを触った時、自分のIDとパスを使えば私のFedoraにログインできてしまうという事になって > しまいますのでまさかそんな事ないだろうと思うと疑問に思いまして・・・ 2つの方法があります。 ①ユーザ毎のホームページを公開させる方法 例)ドメイン名が「aaa.bbb.co.jp」でユーザ名が「taro」の場合 「aaa.bbb.co.jp/~taro/」がユーザ公開パスになります ②メインURLから配下の指定したパスをそのユーザにする方法 例)ドメイン名が「aaa.bbb.co.jp」でユーザ名が「taro」に「/taro/」を与える場合 「aaa.bbb.co.jp/taro/」がユーザ公開パスになります
①と②はチルダ"~"が付くか付かないかの差になります。 ①の場合は『ユーザホームページを公開するには?(http://kajuhome.com/tips/tips_03_002.shtml))』をご参照下さい。 ②の場合は最初に質問頂いた回答にchroot機能を設ければ良いと思います。 chrootについては、『一般ユーザをホームディレクトリ以外に移動させなくさせるには?(chroot)』 (http://kajuhome.com/tips/tips_07_001.shtml)をご参照下さい。
また、双方ともアカウントの作成が必要です。ただし、シェルは「/sbin/nologin」を指定します。 こうすれば、FTPはできるけど、サーバにターミナルログインはできなくする事ができます。 例)ユーザ「taro」を作成する場合 # useradd -s /sbin/nologin taro # passwd taro Changing password for user taro. New UNIX password:<パスワード> Retype new UNIX password:<パスワード> passwd: all authentication tokens updated successfully.
|
Re: WEBサーバの考え方 ( No.2 ) |
|
- æ¥æï¼ 2006/03/21 13:26
- ååï¼ いっちゃん
- 管理者 様
本当にいつもお世話になっておりますありがとうございます!
さすがの私にもなんとなく意味が段々理解できて参りました^^; なるほど LinuxにおけるUserという物は根本的にWindowsなどとは考え方自体が 違う物なのですね・・・ Windowsかぶれか、Userという物はそのOSを使う人(動かす・管理する)用の 物というガンネンが強くちょっと慣れが必要ですね 先を見越してHPサイトは構築する前からザッと 全てに目は通してあるのですが、それは今後勉強予定のメールサーバーにも言える事ですね。 あちらもどのように人に配る用のアカウントを作るのかが引っかかっておりましたので。。。。 私の場合はLinuxの基礎がなっておりませんのでサーバー構築の前にまずアカウントの事、権限や 違いについて先にもっと勉強する必要がありそうです・・・ アカウントについてまたいい所あれば是非ご紹介お願い致します m(。_。;))m ペコペコ
本件に戻りますが、早速頂いたご教授をお手本に1つ1つ試してみみました! ですが、また問題と言いますか壁にぶち当たってしまいましたのでご迷惑でなければご教授お願い致します。
まず、最初に >>①ユーザ毎のホームページを公開させる方法 例)ドメイン名が「aaa.bbb.co.jp」でユーザ名が「taro」の場合 「aaa.bbb.co.jp/~taro/」がユーザ公開パスになります での方法を 『ユーザホームページを公開するには?(http://kajuhome.com/tips/tips_03_002.shtml))』 を参考にさせて頂き試してみましたが、報告としましては設定通り進んではいるのですが、まずわからなのは この方法を取ったとしても、そのIDのルートフォルダも1番最初にご紹介頂いた方法にて /home/user/public.html への変更も必要でしょうか? 一応、試してみましてドリームウィーバーにて転送すると、やはり全てのファイルが /home/user/ へ入ってしまいますので・・・ そこで少し原因と言いますか、私の方法を順を追って考えてみたのですが、まず私の場合今回の方法のテスト用にTest という名前でアカウントを1つ作り、教えて頂いた方法にて /sbin/nologin Test と作成しました。 その次に『ユーザホームページを公開するには?(http://kajuhome.com/tips/tips_03_002.shtml))』のページを 参考にしたのですが、そこで1つ手間取った事がありました。 それはまずそのページにて
「一般ユーザのホームディレクトリに「public_html」を作成します。 例)一般ユーザ名「linux」のホームページを公開する場合。 ※:一般ユーザ「linux」であることに注意して下さい。(カレントパスも「/home/linux」です) 「public_html」パスを作成 $ mkdir public_html パーミッション「other」が読み取れる様にする $ chmod 701 /home/linux 実行権を付与する $ chmod 755 /home/linux/public_html
の項目なのですが、パーミッションや other や実行権の意味がわかっていないのもありますが、まず、例の所に※:一般ユーザ「linux」であることに注意して下さい とありますが、その下の例が$マークにてユーザーでログインしているのはわかりました。 そこで、やはり内容はわかりませんがその目的のユーザーでログインしなくてはいけないのかと思い、rootから一般ユーザーへの切り替えのコマンドがわかりませんでしたので調べてまして su - Test にて実行しました(本当にあっているコマンドかは不確かですが) すると This account is currently not available と出てきました。 翻訳するとこのアカウントではログインが出来ない そこで思いましたのがこのアカウントではログインは出来ないようにしてるんだと・・・ そこでrootにて /home/Test/ へ移動しまして、
$ mkdir public_html パーミッション「other」が読み取れる様にする $ chmod 701 /home/linux 実行権を付与する $ chmod 755 /home/linux/public_html
を実行して完了しました。 ですが、どうしても /home/Test/public_html へ移動してくれませんのでドリームウィーバー側の設定でディレクトリを指定する設定がありましたのでそこへ/public_htmlと入れると、FTPエラー アクセス拒否・ファイルが存在しないか権限がありません というようなエラーを吐きましたので ls -l にて確認してみました。 結果はこれがrootで上のコマンドを実行したのが原因か、権限の箇所が public_html の箇所だけrootになっておりました。 これってやはりダメですよね? パーミッションやotherの意味がわかっておりませんのでご迷惑おかけします。 少し長々と説明が下手になりましたが、どうかお気づきの点がございましたらご教授お願い致します!
|
Re: WEBサーバの考え方 ( No.3 ) |
|
- æ¥æï¼ 2006/03/21 13:29
- ååï¼ いっちゃん
- それと記載忘れですが、今の私の環境ですと、
管理者様のHPを参考にさせて頂き、現在はWindows機より すべてSSHをPuTTYにて接続させて頂いております。 参考になるかどうかはわかりませんがどうぞよろしくお願い致します m(。_。;))m ペコペコ
|
Re: WEBサーバの考え方 ( No.4 ) |
|
- æ¥æï¼ 2006/03/21 13:31
- ååï¼ いっちゃん
- ほんとに何度も申し訳ありません!!(>_<)
もう1つ記載忘れがありましたので修正致します!m(>_<)m
上記の方法でうまい事いきませんでしたので、root にて直接/public_htmlへindex.htmlなどをコピーしようと したのですが、-bash: cd: /public_html: そのようなファイルやディレクトリはありません と弾かれてしまいます。
|
Re: WEBサーバの考え方 ( No.5 ) |
|
- æ¥æï¼ 2006/03/21 15:51
- ååï¼ 管理者
- > 『ユーザホームページを公開するには?(http://kajuhome.com/tips/tips_03_002.shtml))』
> を参考にさせて頂き試してみましたが、報告としましては設定通り進んではいるのですが、まずわからなのは > この方法を取ったとしても、そのIDのルートフォルダも1番最初にご紹介頂いた方法にて /home/user/public.html への変更も必要でしょうか? 一応、試してみましてドリームウィーバーにて転送すると、やはり全てのファイルが /home/user/ へ入ってしまいますので・・・ ユーザホームページを公開させる場合は、ログインパスをそのユーザにしてください。 例)「taro」の場合 「/home/taro」 「hanako」の場合「/home/hanako」 そのユーザのホームパスの中に「public_html」パスを作成させて公開させるようにします。 例)「taro」の公開パス 「/home/taro/public_html」 「hanako」の公開パス「/home/hanako/public_html」
> ls -l にて確認してみました。 結果はこれがrootで上のコマンドを実行したのが原因か、権限の箇所が > public_html の箇所だけrootになっておりました。 これってやはりダメですよね? root権限で以下の様にしてください 例)「taro」の場合 # chown taro:taro /home/taro/public_html
public_htmlの作成はrootでも可能です。ただし、上記の様にその所有者等を正しくする必要があります。 例)既に「taro」をuseaddで作成してある場合 # mkdir /home/taro/public_html # chown taro:taro /home/taro/public_html # chmod 755 /home/taro/public_html
FTPソフトでアップロードするには、そのユーザ名で設定してください 「taro」でFTPログインした場合は「/home/taro」にカレントがあると思います。 そして「public_html」へ移動して、htmlをアップロードすればOKです。 この時、気を付けて頂きたいのが「chroot」を有効にさせることです。 「chroot」を行わないと、他人が読み込めるパーミッションのディレクトリ移動とファイル内容が見れてしまいます。
|