我的 python 脚本执行的任务之一是提取整个 Linux Root FS tarball,然后将文件从中复制到目标目录中。这样做时,如果出现以下特殊受限文件(如 gshadow),我会收到错误消息:
File "script.py", line 553, in copy_rootfs
shutil.copy(sourceFileName,targetFileName)
File "/usr/lib/python2.6/shutil.py", line 88, in copy
copyfile(src, dst)
File "/usr/lib/python2.6/shutil.py", line 52, in copyfile
fsrc = open(src, 'rb')
IOError: [Errno 13] Permission denied: '/home/myuser/temp/home/embeduser/NFS/LinuxFS/etc/gshadow'
从 tarball 中提取的文件 gshadow 的权限如下:
myuser@host temp]$ ls -l home/embeduser/NFS/LinuxFS/etc/gshadow
---------- 1 myuser myuser 271 Nov 5 08:54 home/embeduser/NFS/LinuxFS/etc/gshadow
有没有一种方法可以实现这一点,而无需以 root 身份运行我的 python 脚本?