我正在尝试通过管理页面上传图片,但它一直在说:
[Errno 13] Permission denied: '/path/to/my/site/media/userfolder/2014/05/26'
在上传时动态创建文件夹userfolder/2014/05/26
。
在Traceback中,我发现在此命令期间发生错误:
在/usr/lib64/python2.6/os.py第157行。调用
时mkdir(name, mode)
意思是,它无法创建任何文件夹,因为它没有权限执行此操作
我在服务器中使用OpenSuse作为操作系统。在httpd.conf中,我有这个:
<Directory /path/to/my/site/media>
Order allow,deny
Allow from all
</Directory>
我需要chmod或chown的东西吗?
答案 0 :(得分:22)
您需要更改目录权限,以便Web服务器进程可以更改目录。
要更改目录的所有权,请使用chown
:
chown -R user-id:group-id /path/to/the/directory
要查看哪个用户拥有Web服务器进程(相应地更改httpd
):
ps aux | grep httpd | grep -v grep
OR
ps -efl | grep httpd | grep -v grep
答案 1 :(得分:11)
如果在文件夹名称前有斜杠,也可能发生这种情况:
path = '/folder1/folder2'
OSError: [Errno 13] Permission denied: '/folder1'
出现错误,但这个工作正常:
path = 'folder1/folder2'
答案 2 :(得分:0)
当base.py文件中的maybe_download函数调用发出下载请求时,您可能遇到问题。
临时文件的权限存在冲突,我自己无法找到更改权限的方法,但能够解决问题。
执行以下操作......
然后就完成了。 希望它适合你。
答案 3 :(得分:0)
只需尝试:
sudo cp /source /destination
答案 4 :(得分:0)
只要在后台打开文件,只需将其关闭即可。错误会自行消失
答案 5 :(得分:0)
补充@falsetru的答案:在终端中运行id以获取您的user_id和group_id
转到您面临挑战的目录/分区。 打开终端,输入ID,然后按Enter。 这将显示您的user_id和group_id
然后输入
chown -R用户ID:组ID。
替换用户ID和组ID
。最后指示当前分区/存储库
// chown -R 1001:1001。 (那是我的情况)
答案 6 :(得分:-2)
另一种选择是确保文件不会在计算机上的其他任何地方打开。