2012-03-09 4 views
2

サーバーに変更を加えたときに、変更されたファイルへのグループ書き込みアクセスが自動的に追加されることに気がつきました。しかし、私は500エラーを引き起こすsuPHPを使用しているので、私はGitリポジトリが持つ可能性のあるパーミッションと所有権を無視して、フォルダ自身が持つ適切なアクセス権で置き換える必要があります。Gitに囲まれたフォルダの所有者と権限を強制的に使用させるにはどうすればいいですか?

EDIT:suphpは、ユーザーのファイルを変更から保護するために、ファイルの最大アクセス許可を644、ディレクトリの最大アクセス許可を755に設定する必要があります。それは、Suhosinと一緒に働くPHPへのパッチです。

私はローカルホスト環境で作業し、ステージングにプッシュします。ステージングは​​本番環境のクローンであるため、エラーが発生します。

+0

プロダクション環境で直接チェックアウトして編集しているのでなければ、あなたはそれをしていませんか?なぜあなたは開発マシンで 'suphp'を使用していますか?これは実稼働環境のセキュリティを確保するために設計されていますか? –

+0

いいえdev環境でステージング環境を編集してgitを使ってサーバーにプッシュしますが、権限に問題が発生します。 – OpensaurusRex

+0

私はsuPHPについて何も知らないので、あなたが望むものを手に入れませんが、プッシュした後にいつでも[git hooks](http://book.git-scm.com/5_git_hooks.html)を使って必要な権限を設定できますレポに – dmedvinsky

答えて

0

私はポストマージフックを使用して終了し、bashスクリプトでchmod -R g-w .を実行しています。これは、サーバーに500エラーが発生するような書き込みファイルを追加していないことを確認するのに役立ちました。

2

私はgit栄誉umaskと思います。 gitコマンドを使用する前に、単に0022に設定するか、より厳しく設定してください。

$ umask 0022 
$ git checkout master 
関連する問題