10

特定のフォルダーにファイルをアップロードするphpスクリプトがあります。現在、ファイルは「psacln」グループとしてアップロードされているため、FTP経由でファイルを削除できます。PHP が FastCGI として実行されている場合、これはすべて正常に機能していました。PHP 拡張機能を機能させるには、PHP を Apache モジュールとして実行するように変更する必要がありました。しかし、許可が拒否されたため、PHPスクリプトを介してファイルを削除できません。グループ「Apache」が「psacln」に属するファイルを削除しようとしているからだと思います。Apache がこれらのファイルを削除できるようにするにはどうすればよいですか?

編集: ls -alF

drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 14:05 92/
drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 06:57 93/
drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 14:12 95/
drwxr-xr-x   2 fugitiveink psacln 4096 Dec 21 18:56 96/
drwxr-xr-x   2 fugitiveink psacln 4096 Dec 21 08:30 97/
drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 14:26 98/
drwxr-xr-x   2 fugitiveink psacln 4096 Nov 13 14:28 99/
4

2 に答える 2

15

このシステムへのシェルおよびルートアクセス権があることを前提としています。その場合は、apacheユーザー(通常apacheまたはwww-data)を/etc/groupファイルに追加してみてください。

これを行う適切な方法はを使用することですusermodが、私は通常、ファイルを直接編集するだけです。

つまり、apacheユーザーがapacheである場合は、次のことを試してください。

sudo usermod apache --append --groups psacln

これにより、基本的にapacheユーザーはpsaclnグループが所有するすべてのファイルとディレクトリにアクセスできるようになります。

これが機能しない場合は、ファイル権限(ls -alF)を使用してディレクトリの例を投稿すると、そこから作業できます。

編集:

nanoを使用してグループファイルを直接編集するには(使い慣れたエディターに置き換えてください):

sudo nano /etc/groups

グループを見つけてユーザーpsaclnを追加しapacheます。

psacln:x:130:apache

gid(130)は間違いなく異なることに注意してください。

于 2013-01-02T04:15:07.730 に答える
-4

アップロード ディレクトリの権限を 777 (すべてのユーザーに対して wrx) に設定します。新しいファイルをアップロードできますか? 可能であれば、ファイルを削除できるはずです。

于 2013-01-02T04:05:05.537 に答える