/var/www配下のパーミッションをどうすべきかについて情報が錯綜してて困ったので自分なりに調べたことをまとめておきます。
サーバープロセスが直接ファイルの変更を行うか、複数人管理かがどうかで結構変わるのでめんどくさくなってるみたいですね。
まとめ サーバープロセスがファイルの変更を行わず、sudo可ユーザーのみが変更 `/var/www` 以下は全て `root:root` 理由:apache, nginx などのプロセスが乗っ取られてもroot権限がないと改変できないため サーバープロセスがファイルの変更を行わず、sudo不可のユーザーも変更 `/var/www/site` を `ftp-user:root` に。 複数ユーザーがFTPでアクセスして書き込み権を持つなら `ftp-user:ftp-user`で適当にユーザーをグループに追加 サーバープロセスがファイルの変更を行う(WordPressなど)、 `/var/www/site` 以下の必要なフォルダ、ファイル_だけ_を `ftp-user:www-user` にして サーバープロセスのユーザーをwww-userに追加、apache所有には_絶対にしない_。
どんなフィルタが適用されてるか確認したかったので質問したら教えてもらえました。Stackexchangeの回答者様ありがとうございます。
[crayon lang=”php”]
参考 [How to check a filter are applied – WordPress Answers][1]
WordPressの has_filter()は返り値が int|boolean なので普通に if(has_filter()) で処理しちゃうと `` が返ってきた時に意図しない結果になってしまいます。
解決策 なのでそういう時は if(is_int(has_filter())) を使いましょう。
参考 [wordpress – recognize `` as a true in PHP if statement – Stack Overflow][1]