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 次 |
最近记录: |