chmod命令详解

chmod 是一个用于改变文件或目录权限的Linux命令。权限决定了谁可以读、写或执行文件。在Linux中,文件权限分为三类用户:文件所有者(owner)、所属组(group)和其他用户(others)。chmod 命令可以为这三类用户设置不同的权限。

权限类型

  • 读(r):权限值为4,允许读取文件内容。
  • 写(w):权限值为2,允许修改文件内容。
  • 执行(x):权限值为1,允许执行文件(对于目录来说,表示可以进入目录)。

权限值计算

权限值是将上述权限的数值相加得到的。例如:

  • 读 + 写 = 4 + 2 = 6
  • 读 + 执行 = 4 + 1 = 5
  • 写 + 执行 = 2 + 1 = 3
  • 读 + 写 + 执行 = 4 + 2 + 1 = 7

chmod 的使用方式

  1. 数字模式:使用数字来直接设置权限。

    • chmod 755 file.txt:设置file.txt的权限,使得文件所有者具有读、写和执行权限(7),所属组和其他用户具有读和执行权限(5)。
  2. 字母模式:使用字母来设置权限,适用于更直观的权限修改。

    • chmod u+x file.txt:给文件所有者添加执行权限。
    • chmod g-w file.txt:移除所属组的写权限。
    • chmod o+rwx file.txt:给其他用户添加读、写和执行权限。

字母模式详解

  • u:代表文件所有者(user)。

  • g:代表所属组(group)。

  • o:代表其他用户(others)。

  • a:代表所有用户(all,即u+g+o)。

  • +:添加权限。

  • -:移除权限。

  • =:设置权限(覆盖现有权限)。

特殊权限

  • s:设置UID/GID(set user ID/ group ID)。
    • 当设置在执行权限上时,文件执行时将以文件所有者的权限运行。
  • t:粘滞位(sticky bit)。
    • 主要用于目录,只有文件所有者和超级用户可以删除或移动文件。

示例

  • chmod u+x,g-r,o-wx file.txt:给文件所有者添加执行权限,移除所属组的读权限,移除其他用户的读、写和执行权限。
  • chmod 700 file.txt:设置file.txt的权限,使得只有文件所有者可以读、写和执行,其他人没有任何权限。
  • chmod g+s,o-t directory/:给目录添加SGID位,移除其他用户的粘滞位。

使用chmod时,需要谨慎,因为错误的权限设置可能会影响文件的安全性和可访问性。

chmod 755 file.txt 命令中的 755 是一个三位数字,分别代表文件的三种不同用户的访问权限:
  1. 第一个数字 7:代表文件所有者的权限。数字 7 表示所有者拥有读(4)、写(2)和执行(1)权限。权限值计算如下:

    • 读(r)= 4
    • 写(w)= 2
    • 执行(x)= 1
    • 4 + 2 + 1 = 7
  2. 第二个数字 5:代表文件所属组的权限。数字 5 表示所属组的用户拥有读(4)和执行(1)权限,但没有写权限。权限值计算如下:

    • 读(r)= 4
    • 执行(x)= 1
    • 4 + 1 = 5
  3. 第三个数字 5:代表其他用户的权限。与所属组的权限相同,其他用户也有读(4)和执行(1)权限,但没有写权限。权限值计算如下:

    • 读(r)= 4
    • 执行(x)= 1
    • 4 + 1 = 5

综上所述,chmod 755 file.txt 命令将 file.txt 文件的权限设置为:

  • 文件所有者可以读、写和执行文件。
  • 文件所属组的用户和文件所有者之外的其他用户可以读和执行文件,但不能写文件。

这种权限设置通常用于脚本文件,其中所有者需要读写执行权限以修改和运行脚本,而其他用户只需要执行权限来运行脚本,但不能修改它。

  • 34
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值