WEBサーバがどのページにアクセスしてもヒント403
2058 ワード
今日退勤の準備をしたばかりで、研究開発の同僚はWEBサーバーにアクセスできません.QQチャットの記録を見ると、同僚が処理しているので、退勤しました.
エレベーターに入ったばかりで故障した同僚から電話がかかってきて状況を説明したが、確かに処理できなかった.急いで家に帰って解決を始める.
サーバにログインして次の操作を行います.
WEBディレクトリ権限をチェック.....通常
プロセスをチェック..........通常
rootユーザーを使用してWEBサーバを起動します..通常のアクセス
これではユーザ権限の問題に違いないが,sudoとsuを用いて一般ユーザに切り替えるごとに権限問題を見る.
ユーザーの切り替え時のヒント:
このような状況に遭遇したことがありません.インターネットで検索します.
キーワード1:linuxはrootユーザーのみがリソースにアクセスできます.
キーワード2:linux一般ユーザーはシステムリソースにアクセスできない
キーワード3:cannot change directory to/home/www:Permission denied無果
キーワード4:su:/bin/bash:Permission denied
次の文書を見つけます.
su:/bin/bash:Permission deniedがもたらした疑惑
文中の方法に従って処理し,問題を解決する.以下は文章の内容です.
お客様のoracleは突然机に着いて、业务のスタートのため、お客様は意识的にサーバーを再开して、システムは起きて、oracleユーザーの下に切り替えてデータベースをスタートするつもりで、どのようにsuを切り替えることができなくて、本当に火の上で油を注いで、说明は以下の通りです:rootユーザーの下で、suは普通のユーザーoracleに着いて、以下のエラーを得ました:[root@localhost~]#su-oraclesu:warning:cannot change directory to/home/oracle:Permission deniedsu:/bin/bash:Permission denied oracleユーザーも直接ログインできず、同じエラーが発生しました.これは非常に奇妙な問題で、いったい何が原因なのか.構想は以下の通りである:1,プログラム実行権限問題2,プログラム依存共有ライブラリ権限問題3,ディレクトリ権限問題4,ルート空間問題.チェック/bin/bash、パーミッション正しい、チェック/home/oracleパーミッション正しい、チェック/lib/ld-**.so,権限も正しい.デバッグを続け、/etc/passwdをチェックし、oracleのホームを/tmpに設定し、/tmpを777に設定します.この権限は最もゆとりがあるはずです.suには同じエラーが発生しました.つまりoracleユーザーは777権限の/tmpにアクセスできません.問題はいったいどこにあるのだろうか.最後にstarコマンドで問題の根本を見ました[root@localhost~]#stat/出力は、lsは見えないからです.File:"/"Size:1024 Blocks:2 IO Block:1024ディレクトリDevice:803 h/2051 d Inode:2 Links:22 Access:(0666/drw-rw-rw-)UID:(0/root)Gid:(0/root)Access:2007-12-01 22:28:48.000000000+0800 Modify:2007-12-01 22:28:34.00000000+0800 Change:2007-12-01 23:17:35.00000000+0800問題が発生しました.ここでの権限は誤りであり、X権限の喪失によるものです.[root@localhost~]#chmod 755/修正後、問題は消失する.上記の問題を生じる方法:第1の方法は、chmod 666/、をもたらすことができる.あるいは、第2種、chmod 700/lib/ld-xxxx.soは、suの失敗を招くこともあります.興味があれば自分でやってみてください./権限の喪失は、自分のユーザーID上で実行されているdaemonにも同様の影響を及ぼします.
この仁兄の経験を共有してくれてありがとう.
エレベーターに入ったばかりで故障した同僚から電話がかかってきて状況を説明したが、確かに処理できなかった.急いで家に帰って解決を始める.
サーバにログインして次の操作を行います.
WEBディレクトリ権限をチェック.....通常
プロセスをチェック..........通常
rootユーザーを使用してWEBサーバを起動します..通常のアクセス
これではユーザ権限の問題に違いないが,sudoとsuを用いて一般ユーザに切り替えるごとに権限問題を見る.
ユーザーの切り替え時のヒント:
cannot change directory to /home/www: Permission denied
su: /bin/bash: Permission denied
このような状況に遭遇したことがありません.インターネットで検索します.
キーワード1:linuxはrootユーザーのみがリソースにアクセスできます.
キーワード2:linux一般ユーザーはシステムリソースにアクセスできない
キーワード3:cannot change directory to/home/www:Permission denied無果
キーワード4:su:/bin/bash:Permission denied
次の文書を見つけます.
su:/bin/bash:Permission deniedがもたらした疑惑
文中の方法に従って処理し,問題を解決する.以下は文章の内容です.
お客様のoracleは突然机に着いて、业务のスタートのため、お客様は意识的にサーバーを再开して、システムは起きて、oracleユーザーの下に切り替えてデータベースをスタートするつもりで、どのようにsuを切り替えることができなくて、本当に火の上で油を注いで、说明は以下の通りです:rootユーザーの下で、suは普通のユーザーoracleに着いて、以下のエラーを得ました:[root@localhost~]#su-oraclesu:warning:cannot change directory to/home/oracle:Permission deniedsu:/bin/bash:Permission denied oracleユーザーも直接ログインできず、同じエラーが発生しました.これは非常に奇妙な問題で、いったい何が原因なのか.構想は以下の通りである:1,プログラム実行権限問題2,プログラム依存共有ライブラリ権限問題3,ディレクトリ権限問題4,ルート空間問題.チェック/bin/bash、パーミッション正しい、チェック/home/oracleパーミッション正しい、チェック/lib/ld-**.so,権限も正しい.デバッグを続け、/etc/passwdをチェックし、oracleのホームを/tmpに設定し、/tmpを777に設定します.この権限は最もゆとりがあるはずです.suには同じエラーが発生しました.つまりoracleユーザーは777権限の/tmpにアクセスできません.問題はいったいどこにあるのだろうか.最後にstarコマンドで問題の根本を見ました[root@localhost~]#stat/出力は、lsは見えないからです.File:"/"Size:1024 Blocks:2 IO Block:1024ディレクトリDevice:803 h/2051 d Inode:2 Links:22 Access:(0666/drw-rw-rw-)UID:(0/root)Gid:(0/root)Access:2007-12-01 22:28:48.000000000+0800 Modify:2007-12-01 22:28:34.00000000+0800 Change:2007-12-01 23:17:35.00000000+0800問題が発生しました.ここでの権限は誤りであり、X権限の喪失によるものです.[root@localhost~]#chmod 755/修正後、問題は消失する.上記の問題を生じる方法:第1の方法は、chmod 666/、をもたらすことができる.あるいは、第2種、chmod 700/lib/ld-xxxx.soは、suの失敗を招くこともあります.興味があれば自分でやってみてください./権限の喪失は、自分のユーザーID上で実行されているdaemonにも同様の影響を及ぼします.
この仁兄の経験を共有してくれてありがとう.