OSError – Errno 13 Toestemming geweigerd

Ik probeer een afbeelding te uploaden via de beheerderspagina, maar hij zegt steeds:

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

de mappen userfolder/2014/05/26worden dynamisch aangemaakt tijdens het uploaden.

In Traceback ontdekte ik dat de fout optreedt tijdens deze opdracht:

In /usr/lib64/python2.6/os.py regel 157. tijdens het bellen

mkdir(name, mode) 

wat betekent dat het geen map kan maken omdat het geen toestemming heeft om dit te doen

Ik heb OpenSuse als besturingssysteem in Server. In httpd.conf heb ik dit:

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

Moet ik iets chmodden of chownen?


Antwoord 1, autoriteit 100%

U moet de directorymachtiging wijzigen zodat het webserverproces de directory kan wijzigen.

  • Gebruik chownom het eigendom van de directory te wijzigen:

    chown -R user-id:group-id /path/to/the/directory
    
  • Om te zien welke gebruiker eigenaar is van het webserverproces (wijzig httpddienovereenkomstig):

    ps aux | grep httpd | grep -v grep
    

    OF

    ps -efl | grep httpd | grep -v grep
    

Antwoord 2, autoriteit 42%

Dit kan ook gebeuren als er een schuine streep voor de mapnaam staat:

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

heeft een fout maar deze werkt prima:

path = 'folder1/folder2'

Antwoord 3, autoriteit 2%

Waarschijnlijk ondervindt u een probleem wanneer een downloadverzoek wordt gedaan door de functie-aanroep misschien_download in het bestand base.py.

Er is een conflict in de machtigingen van de tijdelijke bestanden en ik kon zelf geen manier vinden om de machtigingen te wijzigen, maar ik kon het probleem omzeilen.

Doe het volgende…

  • Download de vier .gz-bestanden van de MNIST-dataset via de link ( http://yann .lecun.com/exdb/mnist/)
  • Maak vervolgens een map met de naam MNIST_data (of uw keuze in uw werkmap/sitepakkettenmap in de map tensorflow\voorbeelden).
  • Kopieer de bestanden direct in de map.
  • Kopieer het adres van de map (waarschijnlijk zal dat zo zijn)
    ( C:\Python\Python35\Lib\site-packages\tensorflow\examples\tutorials\mnist\MNIST_data))
  • Verander de “\” in “/” aangezien “\” wordt gebruikt voor escape-tekens om toegang te krijgen tot de maplocaties.
  • Ten slotte, als je de tutorials volgt, zou je oproepfunctie zijn ( mnist = input_data.read_data_sets(“MNIST_data/”, one_hot=True) );
    verander de parameter “MNIST_data/”in uw maplocatie. Zoals in mijn geval zou zijn ( mnist = input_data.read_data_sets(“C:/Python/Python35/Lib/site-packages/tensorflow/examples/tutorials/mnist/MNIST_data”, one_hot=True) )

Dan is alles klaar.
Ik hoop dat het voor je werkt.


Antwoord 4, autoriteit 2%

Een andere optie is om ervoor te zorgen dat het bestand ergens anders op uw computer is geopend.


Antwoord 5, Autoriteit 2%

Probeer eenvoudigweg:

sudo cp /source /destination

Antwoord 6, Autoriteit 2%

Het antwoord van @ Falsetru aanvullen: ID uitvoeren in de terminal om uw user_id en groep_id

te krijgen

Ga de map / partitie waar u tegenover de uitdaging staat.
Open terminal, type ID en druk vervolgens op ENTER.
Dit toont u uw user_id en groep_id

Typ vervolgens

chown -R user-id:group-id .

Vervang de gebruikers-ID en groep-ID

.Aan het einde geeft de huidige partitie / Repository

aan

// chown -r 1001: 1001. (Dat was mijn zaak)


Antwoord 7

Sluit gewoon het bestand in het geval deze op de achtergrond wordt geopend. De fout verdwijnt op zichzelf

Other episodes