OSError - Errno 13 Permission denied
I am trying to upload image through admin page, but it keeps saying:
[Errno 13] Permission denied: '/path/to/my/site/media/userfolder/2014/05/26'
the folders userfolder/2014/05/26
are created dynamically while uploading.
In Traceback, i found that the error is occuring during this command:
In /usr/lib64/python2.6/os.py Line 157. while calling
mkdir(name, mode)
meaning, it cannot create any folder as it doesnot have the permission to do this
I have OpenSuse as OS in Server. In httpd.conf, i have this:
<Directory /path/to/my/site/media>
Order allow,deny
Allow from all
</Directory>
Do I have to chmod or chown something?
Solution 1:
You need to change the directory permission so that web server process can change the directory.
-
To change ownership of the directory, use
chown
:chown -R user-id:group-id /path/to/the/directory
-
To see which user own the web server process (change
httpd
accordingly):ps aux | grep httpd | grep -v grep
OR
ps -efl | grep httpd | grep -v grep
Solution 2:
This may also happen if you have a slash before the folder name:
path = '/folder1/folder2'
OSError: [Errno 13] Permission denied: '/folder1'
comes up with an error but this one works fine:
path = 'folder1/folder2'
Solution 3:
Probably you are facing problem when a download request is made by the maybe_download function call in base.py file.
There is a conflict in the permissions of the temporary files and I myself couldn't work out a way to change the permissions, but was able to work around the problem.
Do the following...
- Download the four .gz files of the MNIST data set from the link ( http://yann.lecun.com/exdb/mnist/ )
- Then make a folder names MNIST_data (or your choice in your working directory/ site packages folder in the tensorflow\examples folder).
- Directly copy paste the files into the folder.
- Copy the address of the folder (it probably will be ( C:\Python\Python35\Lib\site-packages\tensorflow\examples\tutorials\mnist\MNIST_data ))
- Change the "\" to "/" as "\" is used for escape characters, to access the folder locations.
- Lastly, if you are following the tutorials, your call function would be ( mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) ) ; change the "MNIST_data/" parameter to your folder location. As in my case would be ( mnist = input_data.read_data_sets("C:/Python/Python35/Lib/site-packages/tensorflow/examples/tutorials/mnist/MNIST_data", one_hot=True) )
Then it's all done. Hope it works for you.
Solution 4:
Another option is to ensure the file is not open anywhere else on your machine.