0

と呼ばれるシステム ユーザーで cron ジョブを実行し、cron ジョブがsystem_userその出力をoutputFile.txtsystem_user のホーム フォルダー内のファイルに 保存するようにします/home/system_user/outputDir/outputFile.txt

これはすべて機能しますが、現在、にあるphpスクリプト内でこのファイルにアクセスする必要があり、アクセス/var/www/html/scripts/phpScriptFile.php許可拒否エラーが発生しています。

PHPスクリプトがユーザーで実行されることがわかったapacheので、これを行いました:

sudo chown system_user:apache outputFile.txt

しかし、これは役に立ちませんでした。

cron がたとえば/var/www/html/scripts/フォルダにファイルを出力する場合、このアクセス許可エラーは発生しません。

/var/www/html フォルダーから outputFile.txt を移動しようとした理由は、そのままにしておくと、http プロトコルを介してアクセスでき、このファイルの内容を誰にも見られたくないからです。

お知らせ下さい。

4

2 に答える 2

1

おそらく、ファイルを含むフォルダーでいくつかの権限が正しくありません。

また、apache ユーザーのグループに名前が付けられていないapacheか、グループ権限が正しく割り当てられていない可能性があります。

ユーザー グループを再割り当てします。

sudo chown system_user:system_user outputFile.txt

そして、パス全体に一般的な読み取り権限を付与してテストします。

chmod o+rx /home/system_user
chmod o+rx /home/system_user/outputDir
chmod o+r /home/system_user/outputDir/outputFile.txt

これが機能する場合 (機能するはずです)、グループ名が正しいかどうかを調査して、アクセス権をグループ部分に移動できます。

于 2012-05-23T14:01:44.063 に答える
1

outputFile.txt の権限は何ですか?

sudo chown system_user:apache outputFile.txt

これにより、所有者は system_user のままになりますが、グループは apache に変更されます。rw-r-----それが機能するためには、ファイルは少なくともchmod 640 outputFile.txt.

于 2012-05-23T13:58:43.760 に答える