web-dev-qa-db-fra.com

OSError - Errno 13 Autorisation refusée

J'essaie de télécharger une image via la page d'administration, mais cela ne cesse de répéter:

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

les dossiers userfolder/2014/05/26 sont créés dynamiquement lors du téléchargement.

Dans Traceback, j'ai constaté que l'erreur se produisait lors de cette commande:

Dans /usr/lib64/python2.6/os.py, ligne 157. en appelant

mkdir(name, mode) 

ce qui signifie, il ne peut créer aucun dossier car il n'a pas la permission de le faire

J'ai OpenSuse en tant que système d'exploitation sur le serveur. Dans httpd.conf, j'ai ceci:

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

Dois-je chmod ou chown quelque chose?

37
doniyor

Vous devez modifier les droits d'accès au répertoire pour que le processus du serveur Web puisse modifier le répertoire.

  • Pour changer la propriété du répertoire, utilisez chown:

    chown -R user-id:group-id /path/to/the/directory
    
  • Pour voir quel utilisateur est le processus du serveur Web (changez httpd en conséquence):

    ps aux | grep httpd | grep -v grep
    

    OR

    ps -efl | grep httpd | grep -v grep
    
23
falsetru

Cela peut également se produire si vous avez une barre oblique avant le nom du dossier:

path = '/folder1/folder2'

OSError: [Errno 13] Permission denied: '/folder1'

vient avec une erreur mais celle-ci fonctionne bien:

path = 'folder1/folder2'
13
mjp

Vous êtes probablement confronté à un problème lorsqu'une demande de téléchargement est faite par l'appel de la fonction Maybe_download dans le fichier base.py.

Il existe un conflit dans les autorisations des fichiers temporaires et je ne pouvais pas moi-même trouver un moyen de modifier les autorisations, mais je pouvais contourner le problème.

Faites ce qui suit ...

  • Téléchargez les quatre fichiers .gz du jeu de données MNIST à partir du lien ( http://yann.lecun.com/exdb/mnist/ )
  • Créez ensuite un nom de dossier MNIST_data (ou votre choix dans votre dossier de packages de répertoire de travail/site dans le dossier tensorflow\examples).
  • Directement copier coller les fichiers dans le dossier.
  • Copiez l'adresse du dossier (ce sera probablement (C:\Python\Python35\Lib\site-packages\tensorflow\exemples\tutorials\mnist\MNIST_data))
  • Changez le "\" en "/" car "\" est utilisé pour les caractères d'échappement, pour accéder aux emplacements des dossiers.
  • Enfin, si vous suivez les tutoriels, votre fonction d’appel sera (mnist = input_data.read_data_sets ("MNIST_data /", one_hot = True)) ; remplacez le paramètre "MNIST_data /" par votre emplacement de dossier . Comme dans mon cas, serait (mnist = input_data.read_data_sets ("C:/Python/Python35/Lib-site/tensorflow/examples/tutorials/mnist/MNIST_data", one_hot = True))

Ensuite, tout est fait. J'espère que ça marche pour toi.

0
Karan Chopra

Essayez simplement:

Sudo cp /source /destination
0
Rubens_Zimbres