OSError – Errno 13权限被拒绝

我试图通过pipe理页面上传图片,但它一直在说:

[Errno 13] Permission denied: '/path/to/my/site/media/userfolder/2014/05/26' 

文件夹userfolder/2014/05/26是在上传时dynamic创build的。

在Traceback中,我发现在这个命令中发生错误:

在调用时在/usr/lib64/python2.6/os.py行157.

 mkdir(name, mode) 

意思是,它不能创build任何文件夹,因为它没有这个权限

我有OpenSuse作为操作系统在服务器。 在httpd.conf中,我有这个:

 <Directory /path/to/my/site/media> Order allow,deny Allow from all </Directory> 

我必须chmod或chown的东西?

您需要更改目录权限,以便Web服务器进程可以更改目录。

  • 要更改目录的所有权,请使用chown

     chown -R user-id:group-id /path/to/the/directory 
  • 要查看哪个用户拥有Web服务器进程(相应地更改httpd ):

     ps aux | grep httpd | grep -v grep 

    要么

     ps -efl | grep httpd | grep -v grep 

我面临同样的问题,我解决了。

 chmod 777 /path/of/directory/ 

要么

 sudo chmod 777 /path/of/directory/ 

如果您在文件夹名称之前有一个斜线,也可能发生这种情况:

 path = '/folder1/folder2' OSError: [Errno 13] Permission denied: '/folder1' 

出现了一个错误,但这个工作正常:

 path = 'folder1/folder2' 

当base.py文件中的maybe_download函数调用下载请求时,可能会遇到问题。

临时文件的权限是有冲突的,我自己也找不到改变权限的方法,但是能够解决这个问题。

请执行下列操作…

  • 从链接( http://yann.lecun.com/exdb/mnist/ )下载MNIST数据集的四个.gz文件。
  • 然后制作一个文件夹名称MNIST_data(或者您在tensorflow \ examples文件夹的工作目录/站点包文件夹中的选择)。
  • 直接将文件粘贴到文件夹中。
  • 复制文件夹的地址(可能是(C:\ Python \ Python35 \ Lib \ site-packages \ tensorflow \ examples \ tutorials \ mnist \ MNIST_data))
  • 将“\”更改为“/”,因为“\”用于转义字符,以访问文件夹位置。
  • 最后,如果你按照教程,你的调用函数将是(mnist = input_data.read_data_sets(“MNIST_data /”,one_hot = True)) ; 将“MNIST_data /”参数更改为您的文件夹位置 。 在我的情况下,会是(mnist = input_data.read_data_sets(“C:/ Python / Python35 / Lib / site-packages / tensorflow / examples / tutorials / mnist / MNIST_data”,one_hot = True))

那么一切都完成了。 希望对你有效。