このようなフォルダーを作成しているサーバーでPythonアプリを実行している場合
if not os.path.exists(destinationPath):
os.makedirs(destinationPath, 777)
Paramikoモジュールを使用して、SFTP経由でサーバーにファイルをアップロードするクライアントアプリ(Pythonでも)があります。クライアントは、このように必要に応じてサーバー上にフォルダーも作成します
makeCommand = 'mkdir -p "' + remotePath + '"'
ssh.exec_command(makeCommand)
これはうまくいきます。私が抱えている問題は、サーバーアプリがフォルダーを作成する場合、クライアントがそのフォルダーにアクセスできないことです (フォルダーにアップロードしたり、サブフォルダーを作成したりできません)。次のエラーが表示されます
line 104, in upload
ftMan.sftp.put(localFile, remoteFile)
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 565, in put
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 245, in open
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 635, in _request
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 682, in _read_response
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 710, in _convert_status
IOError: [Errno 13] Permission denied
各アプリで、他のアプリでも使用できるフォルダーを作成するにはどうすればよいですか? パーミッションを設定しようとしましたが (上記のサーバーの最初のコードでわかるように)、うまくいかないようですか?