【问题标题】:Permission denied when django writes to external devicedjango 写入外部设备时权限被拒绝
【发布时间】:2018-12-26 21:07:17
【问题描述】:

我有一个 django 文件服务器。服务器在我的笔记本电脑和本地主机(带有外部硬盘驱动器)上完美运行,但是当我将它转移到运行 Raspbian 的 Raspberry Pi 时,它开始运行。

我做了很多谷歌搜索并尝试了所有可能的解决方案,但它不起作用。 这是我的问题:

我已将外部硬盘驱动器连接到我的树莓派。我相信它具有写入权限,因为我可以使用 mkdir 轻松写入它。我还将 /media/pi/SAMSUNG/media 这个目录设置为我的 MEDIA_ROOT。

现在我已经设置了Apache2,WSGI和Django,一切正常,我已经设置了所有权限和一切,但是当django尝试访问硬盘时,无论是读取还是写入,我都会出错[Errno 13] 权限被拒绝:'/media/pi/SAMSUNG'。

我过去用 chown -R 777 解决了这个问题,但这次它不起作用。

不幸的是,我不知道在服务器和文件权限方面我在做什么,所以我不知道要附加什么代码。有人能帮帮我吗?

我会根据要求附上所有必要的代码。

谢谢

【问题讨论】:

    标签: python django apache2 file-permissions


    【解决方案1】:

    在 raspbian 上,使用外部驱动器时必须小心。您是否编辑过 /etc/fstab 文件?这对于在重新启动后以及文件暂时断开然后再次连接时也正确安装驱动器是必要的。 如果您正确地执行了此操作,那么驱动器将具有您在挂载时赋予它的权限,并且 Django 应该能够访问/写入它。

    BR

    【讨论】:

    • BR 不,我没有。我读过一次,但认为没有必要,因为 raspbian 自动安装。我会在 fstab 中编辑什么来帮助我?
    • 对于信息man fstab。示例编辑可以是'UUID=3C34-8766 /media/pi exfat defaults,auto,umask=000,users,rw 0 0'。 UUID的值可以通过blkid找到,然后寻找你的驱动。至少我必须编辑 fstab。
    • 好的,谢谢。我会尝试然后返回结果。我相信您可能是对的,因为我也收到“不允许操作”错误,并且在研究它时,我遇到了 fstab。所以我肯定会尝试你的解决方案。
    • 这用于在文件系统中永久挂载驱动器。自动挂载可能只是 udev。一般来说,您还可以使用ls -l 检查文件/目录的权限。但无论如何你可能都知道。并更改sudo chmod ...。在这种情况下,这将更改权限,直到下次重新启动 pi 或分离驱动器并再次连接。
    猜你喜欢
    • 1970-01-01
    • 2020-10-31
    • 2016-11-15
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多