OSError:不允许操作

我想运行一个python脚本,它使用一个后链接器创build的二进制文件(xFiles.bin.addr_patched)。 但是,我得到这个错误。

File "abc.py", line 74, in ParseCmd shutil.copy(gOptions.inputX, gWorkingXFile) File "/usr/lib/python2.6/shutil.py", line 89, in copy copymode(src, dst) File "/usr/lib/python2.6/shutil.py", line 66, in copymode os.chmod(dst, mode) OSError: [Errno 1] Operation not permitted: 'myPath/xFiles.bin.addr_patched' 

当我通过ls -l检查这个xFiles.bin的权限时,它显示出来了

 -rwxrwxrwx 1 nobody nogroup 

我认为这个错误是因为这个文件是由其他应用程序创build的,我正在运行的python脚本无法访问它。 因为我是初学者的Ubuntu的,我真的不知道如何解决它。 对于如何解决这个问题,有任何的build议吗?

解决了:

作为答案之一build议:chown username:groupname文件名解决了这个问题

你可以尝试(从命令行,但我敢肯定,在Python中有一个语法):

 sudo chown your_username:your_groupname filename 

注意:该组通常只是您的用户名。 我觉得这些权限有问题。 阅读写每个人的执行似乎是关闭的。 这个文件是如何创建的? 它是如何由用户nobody创建的?

Python代码来改变权限:

 from getpwnam import pwd from getgrnam import grp import os uid = getpwnam("YOUR_USERNAME")[2] gid = grp.getgrnam("YOUR_GROUPNAME")[2] os.chown("myPath/xFiles.bin.addr_patched", uid, gid) 

sudo运行脚本,就完成了。

我的猜测是,你应该看看myPath文件夹的权限。 似乎你不能写信给它,因此,这个问题。 试试ls -l myPath/..并查看myPath的权限。 如果这是问题,请使用chmod更改文件夹的权限。

PS另外,请参阅有关Linux文件权限的 Google最佳结果。