- ベストアンサー
Apacheユーザの実行権限設定方法
- Apacheユーザの実行権限設定について知りたいです。
- 所有者hogeのディレクトリをApacheユーザ権限で操作する際にエラーが発生します。解決方法を教えてください。
- Apacheユーザ権限の一般的な設定方法について知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 所有者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ユーザも編集できるよう になります。
その他の回答 (2)
- lowrider_2005
- ベストアンサー率40% (1520/3748)
>・一般的には、に書かれている3つは、それぞれ個別に行うのでしょうか? はい。 >・例えば、「ディレクトリのグループにapacheユーザを追加する」=「ディレクトリの権限をapacheユーザが書き込めるよう変更する」でしょうか? それとも両者は同じ意味ではない? それぞれの作業の持つ意味は全く異なります。 前者のコマンドはusermod(下の質問のコマンド)、 後者のコマンドはchmodを使います。 >・ディレクトリのグループがhogeだった場合、下記コマンドで合っているでしょうか? usermod -G hoge apache 上記コマンドは「apacheというユーザをhogeというグループに追加する」作業になります。 それを意図しているなら合っています。 確認ですが、そもそもそのディレクトリにグループの書き込み権限はあるんですよね?
- lowrider_2005
- ベストアンサー率40% (1520/3748)
>・そもそもapacheユーザ権限は、一般的にどう設定するものなのでしょうか? rootみたいに最強にする? もともと親プロセスはroot権限で起動しているはずですが、それが作成する子プロセスをroot権限で動かすのは大変危険です。それを理解した上で、必要ならそうすることも無いとは言えませんが(ブラウザからシステム管理を行う場合等)。 従いまして、一般的には ・ディレクトリの権限をapacheユーザが書き込めるよう変更する ・ディレクトリのグループにapacheユーザを追加する ・SuExecを使用する で対応します。 それぞれのメリットデメリットについては検索して調べてみてください。 どれを選択するかはその他の条件にもよりますので一概には言えません。
補足
回答ありがとうございました。 ・一般的には、に書かれている3つは、それぞれ個別に行うのでしょうか? ・例えば、「ディレクトリのグループにapacheユーザを追加する」=「ディレクトリの権限をapacheユーザが書き込めるよう変更する」でしょうか? それとも両者は同じ意味ではない? ・ディレクトリのグループがhogeだった場合、下記コマンドで合っているでしょうか? usermod -G hoge apache
補足
回答ありがとうございました >user=apache,group=apache,groups=hoge >groupは一次グループ、groups2は二次グループ ・上記の「groups=hoge」と「groups2は二次グループ」の所が理解できません ・「groups2」ではなく「groupsは二次グループ」? ・あるいは、「user=apache,group=apache,groups2=hoge」?