このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

CGIやPHPで自動作成されたhtmlの所有者を変更したい このメッセージに返信する
日時: 2010/02/07 01:24
名前: ベンツク
URL:
現在自分のみが使用するWEBサーバーを稼働させています。
/var/www/html/でhtmlからは所有者がhogeとなっています。

CGIやPHPで記事を投稿した際にhtmlが作成されるのですが
作成された所有者がapacheとなっていてSSHなどからパーミッションが変更できません。
これを作成したhtmlはすべてhogeにしたいのですが、可能でしょうか?

さすがに毎回手動で変えるのは面倒でした。
記事編集 編集
Re: CGIやPHPで自動作成されたhtmlの所有者を変更したい このメッセージに返信する
日時: 2010/02/07 13:36
名前: aki
URL:
crontabに
*/1 * * * * chown hoge /var/www/html/*.html
などと書いてやるとhtmlファイルの所有者をhogeに勝手に変えます。この場合1分間隔です。
環境がわからないので1分としました。
記事編集 編集
Re: CGIやPHPで自動作成されたhtmlの所有者を変更したい このメッセージに返信する
日時: 2010/02/07 16:55
名前: ベンツク
URL:
>crontabに
>*/1 * * * * chown hoge /var/www/html/*.html
>などと書いてやるとhtmlファイルの所有者をhogeに勝手に変えます。この場合1分間隔です。
>環境がわからないので1分としました。

ありがとうございます、無事に成功致しました。
早ければはやいほどいいので1分で全然OKでした。

それとお聞きしたいことがあるのですが、htmlを生成した瞬間にすでに所有者をhogeにする事は不可能でしょうか?
レンタルサーバーを使っていると、htmlを生成した時は自動で自分の所有扱いになっていたもので、もしかしたらできるのかなと。

また、/var/www/html/以降(/var/www/html/*〜)の全てのhtmlファイルの所有者をhogeにする事はできますでしょうか?
現状だと/var/www/html/*/*.html、/var/www/html/*/*/*.htmlとかなりの数を設定しているので、できれば一括でできれば。
記事編集 編集
Re: CGIやPHPで自動作成されたhtmlの所有者を変更したい このメッセージに返信する
日時: 2010/02/07 19:18
名前: 愚者
URL:

suexecが有効な状態にすれば、htmlを生成した瞬間から所有者をhogeにする事が可能です。

CentOSデフォルトのhttpdでは /var/www に対してsuexecが有効になっています。

httpd.conf内でSuexecUserGroupを指定すれば、ファイル/ディレクトリのオーナーが
hogeになります。

DocumentRoot "/var/www/html"
SuexecUserGroup hoge

注意点もあります。suexecで検索してみて下さい。
ユーザhogeが読めないファイルにはcgi等からもアクセスできなくなったり。。。
cgiそのものはよくある775等のパーミッションでは動作しなくなります。
セキュリティ的には気持ち少しだけ向上します。

※レンタルサーバは諸般の事情でsuexecを有効にしているところが多いと思います。

私はCentOS標準のhttpdを少しいじって、/home 配下でsuexecを有効にして動かしています。
cgiはパーミッション700で動作しています。
記事編集 編集
Re: CGIやPHPで自動作成されたhtmlの所有者を変更したい このメッセージに返信する
日時: 2010/02/07 19:34
名前: aki
URL:

chown -R hoge /var/www/html/
特に問題ないと思いますが、これでhtmlディレクトリ及び
htmlディレクトリ内のファイル(htmlファイルに限らず)とディレクトリの所有者をhogeに変更できます。

レンタルサーバーでは自動的に所有者が設定されるのは当然だと思います。
記事編集 編集
Re: CGIやPHPで自動作成されたhtmlの所有者を変更したい このメッセージに返信する
日時: 2010/02/07 23:12
名前: ベンツク
URL:
>>3 愚者さん
>DocumentRoot "/var/www/html"
>SuexecUserGroup hoge

お返事ありがとうございます。
どうやらうまくいったみたいです。

>私はCentOS標準のhttpdを少しいじって、/home 配下でsuexecを有効にして動かしています。
>cgiはパーミッション700で動作しています。

cgiも一応動いてはいるみたいです。
少しセキュリティとか不安な部分はありますが、このまま様子をみてみようかと思っています。

>>4 akiさん
試してみましたが無事に変更することができました。
一部手動でやる場合はこれでやってみようと思います。


お二方、お返事ありがとうございました。
大変勉強になりました。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -