ファイル所有者の違いでdirectResizeが使えない

質問全般・改善要望
返信する
adamod
メンバー
メンバー
記事: 31
登録日時: 2012年6月27日(水) 01:08

ファイル所有者の違いでdirectResizeが使えない

投稿記事 by adamod »

こんにちは。

先日、Webサーバー上のファイルを誤って消してしまい、画像ファイルなどをFTPで再アップすると共に、MODXもEVO 1.0.12に更新しました。directResizeも最新版を拾ってきてアップしました。

すると、パーミション拒絶エラーで表示出来ないページが出てきました。問題箇所はdirectResize.phpの654行目

コード: 全て選択

if(!mkdir($modx->config['base_path'].$path_to_gal, 0777)) {
という部分らしいです。

そこでイメージファイルのパーミションを変更したりしましたが解決せず、ふと見るとファイルの所有者が2通りあることに気付きました。
FTPソフトでアップロードした画像やdirectResizeを含めたシステムファイルの所有者は5**。一方、Modxの管理画面からアップした画像や自動生成されたサムネイルは4*と言った具合です。
つまり、directResize.phpの所有者は5**なので、管理画面からアップした所有者4*のファイル/フォルダのパーミッションを勝手に変更できないということではないかと推察します。

実は最近自宅のPCをWindowsXPからUbuntuに切り替えました。Windowsにはファイルの所有者という概念が無いので、FTPでファイルをアップロードしても問題無かったが(所有者は空欄?)、ローカルがLinuxだと自動的に所有者情報が付いてしまうので、FTP経由とWebサーバ上での生成の違いで2つの所有者が出来てしまったということでしょうか?

もし的はずれなことを書いていたらすみませんが、こういうケースではどのように対応したら良いのでしょうか?

-----
ご利用のサーバ:Just size net ec015
MODXのバージョン:1.0.12j
PHPのバージョン:5.4.5
MySQLのバージョン:5.1.61
ブラウザ:Chrome for Linux
-----
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: ファイル所有者の違いでdirectResizeが使えない

投稿記事 by yama »

adamod さんが書きました:つまり、directResize.phpの所有者は5**なので、管理画面からアップした所有者4*のファイル/フォルダのパーミッションを勝手に変更できないということではないかと推察します。
少し違っていて、フォルダを作成できないということのように思います
adamod
メンバー
メンバー
記事: 31
登録日時: 2012年6月27日(水) 01:08

Re: ファイル所有者の違いでdirectResizeが使えない

投稿記事 by adamod »

するとその作成できないフォルダとは、サムネイルを格納するフォルダということでしょうか?

ちなみに、拾ってきた最新版というのは先ずこれです。 http://modx.com/extras/package/directresize

しかし、このままだとereg関数でエラーが出まくったので、ここからdirectResize.phpをコピーして使ってます。(正にyamaさんが作られたもの :)
https://github.com/yama/directResize/commits/master/
adamod
メンバー
メンバー
記事: 31
登録日時: 2012年6月27日(水) 01:08

Re: ファイル所有者の違いでdirectResizeが使えない

投稿記事 by adamod »

サイムネイルの格納フォルダ"drgalleries"以下全てのファイルやフォルダのパーミッションを777に設定(所有者4*のものは不可)してもダメだったので諦めかけて居ました。

しかし、ふと見ると"drgalleries"フォルダ自体が766になっていたので、これを777にしてみたらエラーがでなくなりdirectResizeが機能するようになりました。ちなみに755でもOKでした(ということは書き込み権限ではなく実行権限が必要?)

とりあえずこれで、"drgalleries"フォルダに新たなフォルダ(名前が数字)を作れるようになり、エラーが出なくなったようです。所有者云々は関係無かったですね^^;お騒がせしました。
返信する