質問: ### 前提・実現したいこと Webサイトを作っています。 Webサイト用にサーバーにのせるファイルのパーミッションについてご教授いただきたいです。 まず.htaccessのファイルについて、よくパーミッションは644や604にしなければいけにと書いてあるのを見るのですが、604や644では誰でも読み取れるというパーミッションではないのでしょうか? 644では.htaccessの中身が全ての人に見えてしまうのではないかと思ってしまい恐いです。 ただhtmlファイルなどではなく.htaccessやcgiファイルなどはパーミッションが644でも'置いてあるサーバーのurl+ファイルパス'を使ってアクセスしようとしても権限がありませんと表示されきちんとブロックできているようでよくわかりません。 パーミッション644、つまり全てのユーザーに読み取り権限があるというのは中身が見えるということではないのでしょうか? 設定ファイルやlogファイルなどはセキュリティ上外から見えないようにきちんと設定しておきたいのでファイルの種類ごとになぜ違いがあるのか、パーミッションをどのようにしておけば大丈夫なのか教えて頂きたいです。 apacheを経由しているから...などもよくわかっていません。 よろしくお願いします。 ### 試したこと ディレクトリの一覧はアクセスできないように設定済みです。 ### 補足情報(FW/ツールのバージョンなど) 使用しているサーバーはさくらのレンタルサーバーです。
回答: 複数人で1つのサーバを利用しており、Webサーバのソフト(Apacheとか)のユーザー/グループがwww/wwwで、一般アカウントが(ユーザー名/users)みたいな昔ながらの構成だと、604にしておくとWebサーバはアクセス可能だけど自分以外の他のアカウントからはアクセス不可になることになります。 今時他ユーザーの領域が覗けるサーバは少ないと思います。もし仮にそういうサーバなのであれば、パーミッションどうこうより他人に覗かれては困るファイルを置くべきではありません。 これはサーバの中の話です。 サーバの外からHTTPで接続してアクセスするような場合は、上記のパーミッションに加えて、Webサーバのソフトの設定も影響します。例えばApacheはデフォルトで.htaccess(を含むいくつかのファイル)へのアクセスを拒否します。