当我有它创建文件夹这样权限makedirs()后拒绝到其他应用
if not os.path.exists(destinationPath):
os.makedirs(destinationPath, 777)
我有一个客户端应用程序(也用Python)的服务器上运行的Python应用程序文件上传到服务器通过SFTP使用Paramiko module。如果需要,客户端还会在服务器上创建文件夹,如下所示:
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
我怎样才能让每个应用程序创建,其他也可以使用文件夹?我试过设置权限(正如你可以在上面的服务器的第一段代码中看到的),但这似乎并没有工作?
每当你编写一个创建具有'777'权限的文件的脚本时,一只小猫就会死亡。 – 2013-03-17 13:52:56
哈,@BurhanKhalid,我使用777只是为了检查它是否会起作用,稍后会更改为更适合的权限:) – Cian 2013-03-17 13:55:42