Linux基础之文件权限的八进制表现法

打印 上一主题 下一主题

主题 1058|帖子 1058|积分 3174

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. Linux 文件权限概述

在 Linux 中,每个文件或目录都有三种基本权限,分别是:


  • 读权限 - r:允许检察文件内容。
  • 写权限 - w:允许修改文件内容。
  • 执行权限 - x:允许执行文件或进入目录。
每个文件或目录的权限会根据三个用户类别来分配:


  • 所有者 (user, u):文件的创建者或指定的所有者(属主)。
  • 同组用户 (group, g):与文件所有者属于同一组的用户(属组)。
  • 其他用户 (others, o):所有不属于文件所有者或同组的其他用户。
Linux 文件权限通过字符情势大概八进制数字来表现。我们将在后文中详细讨论八进制表现法。

2. 权限的表现法

2.1 字符表现法

字符表现法利用 r、w、x 来表现权限,通过 9 个字符来定义文件的访问控制,分为三个部门,分别表现所有者、同组用户和其他用户的权限。比方:
  1. rwxr-xr--
复制代码
上面表现:


  • 所有者权限:rwx(读、写、执行)
  • 同组用户权限:r-x(读、执行)
  • 其他用户权限:r--(读)
2.2 八进制表现法

八进制表现法通过数字来简化权限的表现,每个权限位对应一个数字。具体规则如下:


  • 读权限 r = 4
  • 写权限 w = 2
  • 执行权限 x = 1
  • 无权限 - = 0
每个用户类别(所有者、同组用户、其他用户)都有三个权限位,分别表现读、写和执行权限。通过将每个权限位的数字相加,得到一个数字来表现权限。
常见的权限八进制值如下:
八进制值权限表现形貌777rwxrwxrwx所有效户都拥有读、写、执行权限755rwxr-xr-x所有者具有读、写、执行权限,组和其他用户只有读和执行权限644rw-r–r–所有者有读和写权限,组和其他用户只有读权限600rw-------所有者有读和写权限,组和其他用户没有权限444r–r–r–所有效户只有读权限1777rwxrwxrwt设置 Sticky Bit,用于共享目录(如 /tmp)
3. 利用八进制设置文件权限

Linux 中的 chmod 命令可以用来设置文件权限。在 chmod 命令中,您可以利用八进制数字来指定文件的权限。比方:
  1. chmod 755 myfile.txt
复制代码
此命令会将 myfile.txt 的权限设置为 rwxr-xr-x,即:


  • 所有者具有读、写、执行权限(rwx)
  • 同组用户和其他用户只有读和执行权限(r-x)

4. 特殊权限

除了通例的文件权限(读、写、执行),Linux 还支持三种 特殊权限,它们提供了更加机动的权限控制。特殊权限会通过四位八进制数字来表现。
4.1 Setuid(设置用户标识)

Setuid(Set User ID)是一种特殊权限,它会使得执行某个程序时,程序以文件的所有者身份运行,而不是执行该程序的用户身份。这个权限通常用于必要暂时提权的程序。


  • 八进制表现:Setuid 权限用数字 4 表现。
  • 示例:chmod 4755 file 表现设置文件 file 的 Setuid 权限。
4.2 Setgid(设置组标识)

Setgid(Set Group ID)是一种特殊权限,它会使得执行某个程序时,程序以文件所属组的身份运行,而不是执行该程序的用户组。如果 Setgid 设置在目录上,新创建的文件将主动继续目录的组,而不是创建者的组。


  • 八进制表现:Setgid 权限用数字 2 表现。
  • 示例:chmod 2755 file
    表现设置文件 file 的 Setgid 权限。
4.3 Sticky Bit(粘滞位)

Sticky Bit 是一种用于目录的特殊权限,特别是在 /tmp 这类目录中。当目录设置了 Sticky Bit 时,只有文件的所有者才气删除文件,即使其他用户对该目录有写权限。


  • 八进制表现:Sticky Bit 权限用数字 1 表现。
  • 示例:chmod 1777 /tmp 表现设置目录 /tmp 的 Sticky Bit 权限。

5. 四位八进制权限表现法

在设置特殊权限时,Linux 利用四位八进制数字来表现权限。四位表现法的结构如下:


  • 第一位:特殊权限(Setuid、Setgid、Sticky Bit)
  • 第二位:所有者权限(rwx)
  • 第三位:组权限(rwx)
  • 第四位:其他用户权限(rwx)
5.1 示例

假设我们必要设置一个文件的权限,并同时启用 Setuid 和 Setgid 权限。我们可以利用以下命令:
  1. chmod 2755 file
复制代码
这个命令的含义:


  • 2:启用 Setgid 权限
  • 7:所有者权限为 rwx
  • 5:组权限为 r-x
  • 5:其他用户权限为 r-x

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表