Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 11位字段中的12位掩码如何打开SETUID位?_Unix_Data Structures_Bit Manipulation_Bitwise Operators - Fatal编程技术网

Unix 11位字段中的12位掩码如何打开SETUID位?

Unix 11位字段中的12位掩码如何打开SETUID位?,unix,data-structures,bit-manipulation,bitwise-operators,Unix,Data Structures,Bit Manipulation,Bitwise Operators,在Andrew S.Tanenbaum和Albert S.Woodhull的操作系统设计和实现中,有以下片段: 在MINIX 3中,每个文件都有一个用于保护的11位模式。这些位中有九位是被读取的- 为所有者、组和其他人写入执行位 然后,在几行之后,他们写道: 其他两个保护位02000[octal 200]和04000[octal 400]是SETGID(设置组id)和SETUID(设置组id- 用户id)位 但是Python显示八进制400是一个12位长掩码: >len(str(bin(0o40

在Andrew S.Tanenbaum和Albert S.Woodhull的操作系统设计和实现中,有以下片段:

在MINIX 3中,每个文件都有一个用于保护的11位模式。这些位中有九位是被读取的- 为所有者、组和其他人写入执行位

然后,在几行之后,他们写道:

其他两个保护位02000[octal 200]和04000[octal 400]是SETGID(设置组id)和SETUID(设置组id- 用户id)位

但是Python显示八进制400是一个12位长掩码:

>len(str(bin(0o4000))-len('0b')

12

如何在11位字段上应用12位长的掩码?

01000是Unix中的“粘性”位,在本书发行时Minix不支持它。它直到2010年才增加支持(该书于2005年发布)。

他们没有说11个连续位。也许01000是未使用或保留的?