web-dev-qa-db-ja.com

FTPおよびApacheの権限の問題

どのユーザーが私のwwwディレクトリを所有するべきかについて問題があります-ftpまたはapache? ftpユーザーに設定すると、ユーザーはファイルを追加、削除、および簡単に変更できますが、phpファイルシステムのアクションでは、アクセス許可拒否エラーが発生します(もちろん、ユーザーがApacheである必要があるため)。ただし、wwwディレクトリがApacheに依存している場合、ftpuserはファイルの変更や削除などの一部のアクションを実行できません。同様の問題が発生したことはありますか?修正は何ですか?ありがとう

10
ray

これがグループの目的です。

ftpユーザーをApacheグループに追加できます。逆の場合も同様です。または、さらに良いことに、この目的のために特別に作成した3番目のグループに追加することもできます。

例えば.

#groupadd mygroup 
#useradd -G mygroup ftp 
#useradd -G mygroup Apache 
#chown -R:mygroup /var/www
# chmod -R g + rw /var/www

これらのコマンドは次のことを行います。

  1. 新しいグループ「mygroup」を作成します
  2. Ftpユーザーをmygroupに追加します
  3. MygroupにApacheユーザーを追加します
  4. / var/www /のコンテンツに対するグループ所有権をmygroupに再帰的に付与します
  5. / var/www /のコンテンツへの読み取りおよび書き込み権限をグループに再帰的に付与します

将来追加されるファイルが 'mygroup'グループに属していて、Apacheとftpの両方に対して読み取り/書き込みを行うための適切な権限があることを確認する必要があるだけです。

12
hobodave

コンテンツのほとんどは、Apache以外のユーザーが所有している必要があります。 FTPを使用してコンテンツを更新すると仮定すると、すべてのファイルをftp:Apacheが所有するように設定できます。 FTPではなくSFTPにSCPを使用することをお勧めします。ファイルには権限644または640、ディレクトリ権限755または750が必要です。

ファイルとディレクトリの場合、アプリケーションはグループ書き込みアクセスを追加するために書き込む必要があります。

4
BillThor

サーバー上のフォルダーを別の名前でコピーするビルドされたphpページに同様の問題がありました。 PHPセーフモードをオフにすることで修正しました。

0
karl