Web共有でユーザーのパーミッションに不具合

いろいろとディスカッションを探しましたが対策が見つからなかったので投稿させていただきます。


システムが不安定になったの、システムを上書きインストールし直しました。

全体的には快適になったのですが、Web共有が出来なくなってしまいました。


http://192.168.0.1/~USER/

アクセスすると下記のエラーが表示されます。

+++++

403 Forbidde

Forbidden

You don't have permission to access /~USER/ on this server.

+++++


ただ

http://192.168.0.1/

にアクセスした場合は例のApache テストページが開くのでApacheは起動しているようです。


アクセス権の修復も行ってみたのですが改善されません。

どなたか対処法をご存じの方、助けてください_(_^_)_

投稿日 2009/08/27 19:47

返信
返信: 28

2009/08/28 04:55 はに への返信

sudo chmod +a "group:everyone deny delete" /Users/User


で「ls -le /Users」


drwxr-xr-x+ 22 USER staff 748 8 28 18:43 USER

0: group:everyone deny delete


と test と同じようになったのですが、残念ながらWeb共有は Forbidden といわれてしまいます。


なので


chmod -a# 0 /Users/User

で戻しておきました。

2009/08/28 14:45 fuji_dove への返信

うーん、ダメですか.

forbidden といわれるときにサーバ側のログにはなんと出ているのでしょう?

サーバのログは、コンソール(アプリケーション/ユーティリティにあります)で「ログファイル」、「/var/log」、「apache2」、「error_log」で見られます.

ここにメッセージそのまま正確に出してもらえれば何か分かるかも.

2009/08/28 16:04 はに への返信

[Sat Aug 29 07:43:35 2009] [error] [client 192.168.1.23] client denied by server configuration: /Users/USER/Sites/

[Sat Aug 29 07:52:37 2009] [error] [client 192.168.1.23] client denied by server configuration: /Users/USER/Sites/index.html

とでました。

ターミナルで

ls -le /Users/USER/Sites/index.html

とすると

-rw-r--r--@ 1 USER staff 1305 12 10 2008 /Users/USER/Sites/index.html

と出てきました。

2009/08/28 17:35 fuji_dove への返信

どうも.自分のLeopard でやってみて分かりました.

Leopard (or Leopard のアップデート)でapache がupdateされてユーザホームを閲覧するのに必要なファイルが出来てないからのようです.

なので、古いアカウントのは見えないけど、新しく作ったのは見える、という訳です.古いアカウントにも設定ファイルを作ってやれば見えるようになります.もし、前のがあれば(場所が変わっている)それをコピーするのでもよいようです.

以前のは、/etc/httpd/users にあるということです.しかしし私のにはこのディレクトリー自体がありません(ウェブ共有を使ってなかったから?).

新しいのは、

/etc/apache2/users

がその場所になります.ここに、うまく見えるtest のは、test.conf というファイルが出来ていると思います.

これを、以下の要領で見えないユーザ用にコピーします.

ターミナルで、


cd /etc/apache2/users

sudo cp test.conf User.conf


sudo としますので、最初パスワードを聞いて来ますので、管理者パスワードを入力します.

このままではダメなので、ターミナル上で使えるエディター pico で一部修正します.

sudo pico /etc/apache2/users/User.conf

とします.すると、以下が出て来ます.


<Directory "/Users/test/Sites/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>


最初の行の /Users/test/Sites を /Users/User/Sites に変更し、保存して終了します.コントロール-X で終了です.このときに保存するかどうか聞いて来ますので、Yとし、元のファイル(User.conf のこと.コントロール-T とする)に保存します.pico の使い方は画面の下の方に出ますので、その通りにすればいいです.ちなみに、^と出るのがコントロールキーです.


もし、/etc/httpd/users に古い設定ファイルがあるようなら、それをコピーしてもいいようです.

そのときは、


sudo cp /etc/httpd/users/User.conf /etc/apache2/users

とします.


最後に、ウェブ共有を一旦オフにしてからオンにします.(再立ち上げする.新しい設定ファイルを読み込ませるため)

これでクライアントから見えるようになりませんか.

2009/08/29 02:04 はに への返信

はにさん


レスが遅くなりました(m_m)


ダメでした(;。;)


ls -leでみてみると


ls -le /etc/apache2/users

total 40

-rw-r--r-- 1 root wheel 140 8 29 09:57 USER.conf

-rw------- 1 root wheel 140 8 29 10:04 USER.conf.save

-rw-r--r-- 1 root wheel 140 8 29 10:07 User.conf

-rw------- 1 root wheel 140 8 29 10:11 User.conf.save

-rw-r--r-- 1 root wheel 140 8 28 13:47 test.conf

と作られているみたいです。(何回かやってしまったので余分なのもできてしまっているみたいですが)

因みに

ls -le /etc/httpd/users

ls: /etc/httpd/users: No such file or directory

でした。

2009/09/01 16:00 はに への返信

なおりました!!


どうやら


最初の行の /Users/test/Sites を /Users/User/Sites に変更


「USER.conf」をGUIで探しだしテキストエディットで確認してみたら変更出来ていませんでした。

そのまま書き換えようとしましたがまたアクセス権がないということで変更できず…

(今はrootユーザーでログインって出来ないみたいですね)


ターミナルで再挑戦し書換に成功しました\(^^)/ー



はにさんをはじめ、みなさま。

本当にありがとうございました!!

2010/04/01 07:39 はに への返信

わたしのMacBook Pro でも、fuji_doveさんとまったく同じ症状が出て、困っています。

はにさんの方法を試そうとしましたが、/etc/apach2/usrsの下には、正常に2つ、まったく同じ内容の

A.confとB.confが出来ています。うまく行くのは一般ユーザのA.conf、うまく行かないのは、管理者権限

のあるB.confなんです!


何が悪いのか、有楽町のApple Storeにわざわざ足を運んで聞いたのですが、「わからない」「Apacheは

サポート外」などと言われ、解決できずに帰ってきました!!!!! がっかりです。

2010/04/01 08:57 nakazawa への返信

/etc/apach2/usrsの下には、正常に2つ、まったく同じ内容の

A.confとB.confが出来ています

全く同じ内容では,片方はうまく行かないです😕

うまく行かない管理者の方の B.conf の最初の行にある

<Directory "/Users/xxxx/Sites/">

の xxxx を管理者のアカウント名に変えてやる必要があります。

xxxx にはユーザのアカウント名が入ります。

2010/04/02 01:00 nakazawa への返信

おっしゃられているような設定にはすでになっている


そういうことなら、このスレッドの最初の方の議論にある,上位フォルダー(すべての上位フォルダーが関係します。どこか一ヶ所でもothers の実行権がついてないと外のブラウザからは見えません)の実行権は大丈夫でしょうか。web で見えないトラブルというのは,自分が経験した範囲では,ほとんど全部がこれですが。

それか、問題のファイルのパーミッションが適切でないとか(見える方のと同じになってますか?)。

2010/04/02 06:59 はに への返信

>> おっしゃられているような設定にはすでになっている

そういうことなら、このスレッドの最初の方の議論にある,上位フォルダー(すべての上位フォルダーが関係します。どこか一ヶ所でもothers の実行権がついてないと外のブラウザからは見えません)の実行権は大丈夫でしょうか。web で見えないトラブルというのは,自分が経験した範囲では,ほとんど全部がこれですが。

 いいえ、確認してみましたが、/etc以下のフォルダには、きちんと xがothersについております。

2010/04/02 15:01 nakazawa への返信

/etc以下のフォルダには、きちんと xがothersについております。


いや、x がついていないといけないのはそこじゃないです。コンテンツそのものの入っているホルダーの上位のフォルダー全部です。例えば,hogeのsite以下を見せる必要があるなら,/Users/hoge/sites 全部のフォルダーのothers に x がついている必要があります。他のユーザでは見えるのなら,/Users にはついているのでしょう。hoge や sites のフォルダーはどうですか。セキュリティを上げる目的で,others に何も許可しないようにしてしまう人がいます。こうしてしまうとwebから見えなくなってしまいます。

あと、/etc/apache2/hoge のパーミッションは適切ですか?所有者はrootでrw、groupは wheel、others には r がついている必要があります。

http サーバデーモン(httpd)は,実際に動いているときはnobodyの権限で動いていますので,nobodyが読めるようになってないとwebには表示されなくなります。フォルダーに入るためには,そのフォルダーに実行権限が必要です。なので、others に x がついてないとnobodyはそのフォルダーに入れず,その内部にあるコンテンツにたどり着けません。httpd をnobody権限で動かすのはセキュリティのためです。例えば,もし,root 権限で動かしたら,外からシステム内部のどんな個人情報でも外に見えてしまいますし,httpdを介していくらでもイタヅラできてしまいます(root権限なら何でも出来るので)。

2010/04/02 15:20 はに への返信

はにさま、nakazawaです。


>> /etc以下のフォルダには、きちんと xがothersについております。

いや、x がついていないといけないのはそこじゃないです。コンテンツそのものの入っているホルダーの上位のフォルダー全部です。例えば,hogeのsite以下を見せる必要があるなら,/Users/hoge/sites 全部のフォルダーのothers に x がついている必要があります。他のユーザでは見えるのなら,/Users にはついているのでしょう。hoge や sites のフォルダーはどうですか。セキュリティを上げる目的で,others に何も許可しないようにしてしまう人がいます。こうしてしまうとwebから見えなくなってしまいます。

あと、/etc/apache2/hoge のパーミッションは適切ですか?所有者はrootでrw、groupは wheel、others には r がついている必要があります。

http サーバデーモン(httpd)は,実際に動いているときはnobodyの権限で動いていますので,nobodyが読めるようになってないとwebには表示されなくなります。フォルダーに入るためには,そのフォルダーに実行権限が必要です。なので、others に x がついてないとnobodyはそのフォルダーに入れず,その内部にあるコンテンツにたどり着けません。httpd をnobody権限で動かすのはセキュリティのためです。例えば,もし,root 権限で動かしたら,外からhttpdを介していくらでもイタヅラできてしまいます(root権限なら何でも出来るので)。

 おっしゃられるように、 othersにxがついていませんでした!!! 付けましたら、動きました!!!


 ご丁寧に教えていただき、何と感謝していいか、わかりません。本当にありがとうございました。

 

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Web共有でユーザーのパーミッションに不具合

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。