web-dev-qa-db-ja.com

OSError-Errno 13許可が拒否されました

管理ページから画像をアップロードしようとしていますが、次のように言っています:

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

フォルダーuserfolder/2014/05/26は、アップロード中に動的に作成されます。

トレースバックで、このコマンドの実行中にエラーが発生していることがわかりました。

/usr/lib64/python2.6/os.py行157で呼び出し中

mkdir(name, mode) 

つまり、これを行う権限がないため、フォルダを作成できません

サーバーのOSとしてOpenSuseを使用しています。 httpd.confでは、私はこれを持っています:

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

Chmodやchownをする必要がありますか?

36
doniyor

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
    
23
falsetru

これは、フォルダー名の前にスラッシュがある場合にも発生する可能性があります。

path = '/folder1/folder2'

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

エラーが発生しますが、これは正常に動作します:

path = 'folder1/folder2'
12
mjp

Base.pyファイルのmaybe_download関数呼び出しによってダウンロードリクエストが行われたときに、おそらく問題に直面しています。

一時ファイルの権限に矛盾があり、私自身は権限を変更する方法を見つけることができませんでしたが、問題を回避することができました。

以下をせよ...

  • リンクからMNISTデータセットの4つの.gzファイルをダウンロードします( http://yann.lecun.com/exdb/mnist/
  • 次に、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))

その後、すべて完了です。それがあなたのために働くことを願っています。

0
Karan Chopra

単に試してください:

Sudo cp /source /destination
0
Rubens_Zimbres