ということで、前回の続き「ファイル・ディレクトリのパーミッションを一括変更する方法」を探した。
スポンサードリンク
ファイル・ディレクトリのパーミッション一括変更
ファイルの一括変更
$ find ~/public_html/ -name \*.php -exec chmod 644 {} \;
上記コマンドで変更できる。
※この例では拡張子がphp のものを全てパーミッション644 に再設定する
ディレクトリの一括変更
$ find ~/public_html/ -type d -exec chmod 755 {} \;
上記コマンドで変更できる。
※この例ではディレクトリのパーミッションを全て755 にしている
※ファイル・ディレクトリ、何れも例のコマンドでは「~」(=/home/casey)/public_html/ のすべてに作用する
ちなみに、755 (705 でもOKかも)とするのは744 などではApache 関連で読み込みエラーとなるため実行権限が必要になる(結構ハマった)
このようなエラーになる:
(13)Permission denied: /home/casey/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
(13)Permission denied: access to / denied
これらのエラーは.htaccess が要求されたディレクトリ、その上位ディレクトリと.htaccess を参照してくからなのだが、それはすでに了承していた。
その時の解決策は何故か自動生成される.htaccess のパーミッションが600 (umask が適切でも・・)なのが原因であって、644 にすれば解決していた。
今回ハマったのは「ディレクトリに実行権限がないとダメ」ということだったから。
参考文献
- apache を利用しての public_html が公開できない – いろきゅう.jp ~Programmable maiden~ Tech side
- apache を利用しての public_html が公開できない – 解 – いろきゅう.jp ~Programmable maiden~ Tech side
- Apacheでunable to check htaccess fileにハマった – memdhoiの日記
コメント