【问题标题】:How to change owner and group of an uploaded file in django?如何在 django 中更改上传文件的所有者和组?
【发布时间】:2014-06-18 18:07:08
【问题描述】:

当我将文件上传到 Django 服务器时,文件权限似乎是这样的

-rw-r--r-- 1 bangtest nobody 5198 May  2 00:37 image.jpg

但我想以 root 用户身份上传这些文件,如何在 Django 应用程序中使用 python 来做到这一点。

我尝试过使用this

import pwd
import grp
import os

uid = pwd.getpwnam("root").pw_uid
gid = grp.getgrnam("root").gr_gid
path = '/home/bangtest/alpha/media/products/image_2081.jpg'
os.chown(path, uid, gid)

然后我收到类似的错误

OSError: [Errno 1] Operation not allowed: '/home/bangtest/alpha/media/products/image_2081.jpg'

建议我解决此问题。

谢谢

【问题讨论】:

  • 为什么要改成root用户?
  • 你好@François,Erlier我在从mod_wsgi apache访问保存的图像时遇到了一个问题,这个link是我的问题。将文件所有者从bangtest更改为root后,我可以访问文件.由于这个原因,我只想将其更改为root用户。
  • 以 root 身份运行并想要访问它们的进程是什么?它不会是 Apache,因为它在处理请求时以不同的用户身份运行,并且永远不会以 root 身份运行。任何其他以 root 身份运行的进程都应该能够访问这些文件,而不管权限如何。

标签: python django django-views mod-wsgi


【解决方案1】:

你有一些选择,我总是尝试这两个:

  1. 简单方法:在需要交互的文件夹中将权限设置为 775,如果需要保存信息,则设置为 777(不安全)。
  2. 困难的方法:将 www/nobody 或您的 apache 的用户名添加到您的用户组,并使该文件夹对该组用户可写和可读(或简单地为该文件夹中的 www 或您的 apache/nginx 用户添加权限)。

【讨论】:

    猜你喜欢
    • 2022-09-28
    • 2020-05-20
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 2011-02-21
    • 2011-02-10
    • 2011-01-14
    • 1970-01-01
    相关资源
    最近更新 更多