これはサーバー障害の問題かもしれませんが、django アプリが関係しているため、次のようになります。
ファイルアップロードフィールドを介してメディアディレクトリにファイルをアップロードできるdjangoアプリがあります。
def content_file_name(instance, filename):
return '/'.join([ instance.client, instance.job_number, instance.post_type + "_" + instance.post_round, instance.job_number + "-" + instance.cell_number, filename])
class PostEntry(models.Model):
...
add_pdf = models.NullBooleanField()
link_pdf = models.FileField(upload_to=content_file_name, blank=True, null=True)
add_html = models.NullBooleanField()
link_html = models.FileField(upload_to=content_file_name, blank=True, null=True)
add_zip = models.NullBooleanField()
link_zip = models.FileField(upload_to=content_file_name, blank=True, null=True)
...
また、ftp 経由で他のユーザーがメディア ディレクトリを利用できるようにしました。メディア ディレクトリにアクセス許可を設定して、その中のすべてのファイルとサブディレクトリに対して読み取り、書き込み、および再帰的な実行を許可しましたが、アクセス許可を設定した後に django が作成したサブディレクトリでの ftp 操作は許可されません。つまり、新しく作成したサブディレクトリ (メディア ディレクトリ内) に ftp クライアントを介してアクセスする場合、デフォルトでは、ファイルをそのディレクトリにドラッグしたり、そのディレクトリからファイルを削除したりする権限がありません。
設定で、FILE_UPLOAD_PERMISSIONS オプションを 0644 に設定しました。予想どおり、違いはありませんでした。アプリケーションの外部に書き込むことができるディレクトリを作成するようにdjangoを設定する方法はありますか? それとも、OS レベルで設定する必要があるこの動作ですか?