Apacheにアクセスできない403 Forbidden SSHもできない

SolarisへSSHでログインして作業していたところ、Apacheへアクセスできなくなっていることに気付き、びっくり。

さらにSSHでのログインもできない。

作業中のSSHのウィンドウは生きているので、これは絶対に殺すことはできない。このターミナルだけが頼り。

 

■Apacheのエラー

ブラウザ側でのエラー: 403 Forbidden You don’t have permission to access / on this server.

サーバ側でのエラー: error_logを見ると、

(13)Permission denied: access to / failed because 
search permissions are missing on a component of the path

(13)Permission denied: access to /foo.html 
failed because search permissions are missing on a component of the path

(13)Permission denied: access to /bar.html
failed because search permissions are missing on a component of the path

 といったようなパーミッションのエラー。しかし、foo.htmlもbar.htmlも存在するし、パーミッションも644で問題ない。

Apacheを再起動すると、6個くらいデーモン(スレッド)が起動するが、あっという間に1個になってしまう。

 

■SSHでログインできない

SSHでログインして、パスワードを入力直後にこんなメッセージが。

Could not chdir to home directory /export/home/webuser: Permission denied
/usr/local/bin/bash: Permission denied
Connection to 192.168.12.34 closed. 

 

■原因と対処

とにかくパーミッションが無い。しかし、パーミッションをあっちこっち変更したわけでもない。

あ!

ひょっとして!

さっきコピペでchmodしたのが原因かも…。

きっとこれで直る! ルートディレクトリ / を本来の正しいアクセス権775に変更。

# chmod 775 / 

ほっ、直りました。全てが。

 

■原因を探るべく 

原因を探るべく、historyを見てみると発見!

# chmod 666 /var/hoge/foo / 

コピーしたつもりの

chmod 666 /var/hoge/foo /bar/hoge/bar

が、

chmod 666 /var/hoge/foo /

とペーストしてしまい、リターンキーを押してしまっていたのでした。うぅぅ。 

いやーっ、やな汗かいた。