Apacheへの書き込みアクセスを許可するには、サイトのアップロードフォルダーにchown www-data:www-data /var/www/mysite/uploads
する必要がありました。これにより、PHPスクリプトのunlink()
を介してフォルダーからファイルを削除できます。
残念ながら、これにより、FTP関数を使用する別のPHPスクリプトが機能しなくなります。これは、FTPユーザーがmike
であり、アップロードディレクトリがwww-data
によって所有されているためだと思います。 、mike
はアクセスできません。
グループwww-data
にmike
を追加しましたが、これで問題が解決しません。
PHPのunlink()
関数を使用したファイルの削除に加えて、PHP FTP関数を機能させる方法について誰かにアドバイスしてもらえますか?
そのため、ファイルを削除するには「書き込み」権限が必要です。ここにはいくつかのオプションがあります。
setfacl -m user:mike:rwx
を使用してマイク用のフォルダにACLを設定しますsetfacl -m group:<ftp_group>:rwx
でこれらの権限を必要とする他のユーザー)を追加します。ここで問題を解決するには、ファイルシステムのアクセス許可で十分です。アップロードディレクトリでのみchmodo + rwのようなものを試してください。 chmodコマンドは、「www-dataグループに属していない人に読み取りおよび書き込み権限を与える」と効果的に言います。
ただし、長期的な修正は、FTPを呼び出すスクリプトにサービスアカウントを使用し、その特定のサービスアカウントをwww-dataにバンドルすることです。