unix文件权限

unix文件权限

UNIX 中的文件权限通常以八进制数指定。为什么八进制是此目的的首选基数?

答案1

由于权限存储在位字段中,以 3 位块分组(例如读写)。

八进制是一种自然的描述方式,因为只需要 1 个八进制数字就可以准确表示任何 3 个二进制数字序列。(这类似于编程中使用十六进制的原因——由于 1 个十六进制数字可以表示 4 个二进制数字,因此只需要 2 个十六进制数字即可描述 1 个字节。归根结底,8 和 16 是 2 的幂,因此在八进制和二进制或十六进制和二进制之间进行转换非常容易。)

这些块是 用户(又名所有者),团体其他的.每个chunk有三种权限来描述:, 和执行

因此,完整的权限集看起来像读写,其中每个都是二进制数字。例如,110100100二进制表示为644八进制,你知道第一个八进制数字是拥有者权限,第二个为团体的权限,第三个用于其他所有人

答案2

对象的权限指定了三个不同的类别:所有者、组和其他人。每个类别都有三个可设置的独立权限:读取、写入和执行。这意味着每个类别都有八个权限集之一:

  1. 执行
  2. 写入/执行
  3. 读取/执行
  4. 读/写
  5. 读/写/执行
  6. 没有权限

由于八进制数字采用八个不同值(数字 0 到 7)之一,因此您可以用一个八进制数字表示读/写/执行的任意组合。

在内部,计算机将权限存储为位字段。例如,如果您将权限设置为 644,计算机可能会将其表示为二进制数 110100100,或者:

 110  |  100  |  100
 rw-  |  r--  |  r--
  6   |   4   |   4
Owner | Group | World

(请注意,二进制 110 等于八进制 6,二进制 100 等于八进制 4)。

相关内容