ddi*_*hev 11 python unix filesystems umask chmod
在大多数地方,权限被定义为格式为的八进制数0777.但UNIX的umask命令(因此os.umask())需要在我的理解中0o000产生权限位0o777和0o022等于0o755.
我听说UNIX umask由于某种原因而被颠倒了,我不明白其背后的原因.有人可以解释这个不一致吗?
Whi*_*ity 11
有没有真正的矛盾,因为之间的关系umask,并chmod可以纯粹用方程写下来.显然,umask与之相反chmod,它在过去就像这样创造了.
示例:( 022默认通常umask)创建755.它的工作原理如下:
7 - 0 = 7 成为第一个字节7 - 2 = 5 成为第二个和第三个字节使用此示例,umask 777创建一个文件chmod 000,umask 112将等于chmod 664.据我所知,发生这种情况是因为umask最初创建的命令是为了指示文件在创建后不会具有哪些权限位(因此是反转).
虽然它可能很烦人,但实际上并不难以适应它.只要想想你chmod的文件将如何,并减去你想要的字节7,你就会得到这个umask值.或者,当你在IDE,编写代码时,不要使用umask,而是创建文件(umask当然是默认的),然后在Python中使用os.chmod().
| 归档时间: |
|
| 查看次数: |
4049 次 |
| 最近记录: |