質問: apacheユーザの実行権限設定はどうすれば良い? ■環境 ・cent os ■状況 ・所有者hogeのディレクトリxに対して、スクリプト経由(apacheユーザ権限)でchmodしようとすると、エラーになります ・スクリプト経由(apacheユーザ権限)でディレクトリ作成しようとしても、エラーになります ■質問 ・どうすれば良いでしょうか? ・所有者hogeのグループにapacheユーザを入れたら効果あるでしょうか? ・ディレクトリ所有者がhogeであることが問題? apache所有にした方が良い? ・それとも、スクリプト実行を、apacheユーザ権限ではなく、所有者hogeにした方が良い? どうやって? ・そもそもapacheユーザ権限は、一般的にどう設定するものなのでしょうか? rootみたいに最強にする?
回答: > 所有者hogeのグループにapacheユーザを入れたら効果あるでしょうか? 基本的にはそれでokですが、それだけではapacheユーザが作成した ファイルをhogeユーザが変更できなくなってしまうかもしれません。 user=hoge,group=hoge user=apache,group=apache,groups=hoge groupは一次グループ、groups2は二次グループです。umask002 (新 規作成されたファイルのパーミッションが775 ) に設定されている とします。 hogeユーザが作成したファイルはhoge/hoge なので、hogeグループ に属するapacheユーザは編集可能です。しかし、apacheユーザが新 規作成したファイルはapache/apache になるので、apacheグループ に属さないhogeユーザは編集できません。 そこで、ディレクトリをhogeユーザで作成し、ディレクトリにsgid ビットを立てます。 $ chmod 2775 dir $ ls -l dir drwxrwsr-x 2 hoge hoge 4096 4月 7 13:35 dir これで、apacheユーザがdir上に作成したファイルはapache/apache ではなく、apache/hoge になるので、hogeユーザも編集できるよう になります。