我将用Python脚本创建Linux文件系统的副本。我在创建/tmp目录时遇到了权限问题。/tmp目录的权限应该是1777,即:
当我执行以下操作时,
然而,能够给我创建的目录正确的权限的是以下内容:
我应该指出,我是通过sudo运行此脚本的,但/etc/sudoers中没有提到任何umask设置。以实际的root用户身份运行它没有任何区别。由于我正在复制FS,其中必须包括仅对root可访问的文件,因此无法以普通用户身份运行它。
有什么想法吗?任何帮助都将不胜感激。
ls -l /
drwxrwxrwt 17 root root 16384 2011-03-01 09:50 tmp
当我执行以下操作时,
os.mkdir('/mnt/tmp',1777)
我遇到了奇怪的权限问题:
ls -l /
d-wxr----t 2 root root 4096 2011-03-01 09:53 tmp
然后我对umask和chmod产生了疑问,于是我尝试了以下操作:
os.mkdir('/mnt/tmp')
old_mask=os.umask(0000)
os.chmod('/mnt/tmp',1777)
os.umask(old_mask)
但我仍然收到意外的权限:
ls -l /
d-wxrwS--t 2 root root 4096 2011-03-01 09:57 tmp
然而,能够给我创建的目录正确的权限的是以下内容:
os.mkdir('/mnt/tmp')
os.system("chmod 1777 /mnt/tmp")
我应该指出,我是通过sudo运行此脚本的,但/etc/sudoers中没有提到任何umask设置。以实际的root用户身份运行它没有任何区别。由于我正在复制FS,其中必须包括仅对root可访问的文件,因此无法以普通用户身份运行它。
有什么想法吗?任何帮助都将不胜感激。