Linux修改文件权限(chmod)

当在ubuntu shell下键入ls -lh时,会列出该目录下的文件,如:
在这里插入图片描述
而每个文件显示前都有类似红框里的内容,这些东西代表的含义是:

-代表文件
d代表目录,也就是文件夹

之后有三组字符的编码,每一组定义了3种访问权限

r代表对象是可读的
w代表对象是可写的
x代表对象是可执行的

若没有某种权限,在该权限为会出现单破折线,这三组权限分别对应着对象的3个安全级别:

  • 文件所有者的权限
  • 同组用户的权限
  • 其他用户的权限

修改文件权限 chmod

chmod修改文件权限,有两种方式:字母法和数字法

字母法

chmod u/g/o/a +/-/= rwx 文件名

u/g/o/a含义
uuser 表示该文件的拥有者
ggroup 表示与该文件的所有者属于同一组者,即用户组
oother 表示其他以外的人
aall 表示这三者皆是
+/-/=含义
+增加权限
-撤销权限
=设定权限
rwx含义
rread 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容
wwrite 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在该目录下创建新的文件
xexcute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录

在这里插入图片描述
这个test文件,它的权限显示是rwx r-x r-x,分别表示:

  • 文件所有者:读、写、执行权限
  • 同组用户:读、执行权限
  • 其他用户:执行权限
增加或撤销权限(+,-)

比如给文件撤销文件拥有者(u)的w权限

$ chmod u-w test

在这里插入图片描述此时文件不可写!!
同组者、其他人权限增加或撤销类似

设定权限(=)

比如给文件设定同组者只写的权限

$ chmod g=w test

在这里插入图片描述
如果需要同时进行设定拥有者,同组者和其他人的权限,可以这样做:
在这里插入图片描述

数字法

rwx可以用数字来表示

字母说明
r读取权限,数字代号"4"
w写入权限,数字代号"2"
x执行权限,数字代号"1"
-不具任何权限,数字代号"0"

如执行:chmod u=rwx,g=rx,o=r test等同于:chmod u=7,g=5,o=4 test,也就是:chmod 754 test
在这里插入图片描述
还可以递归的对一个目录下所有子目录或文件加权限,需要在后面加上参数-R

$ chmod 777 test/ -R

在这里插入图片描述

### 如何在 Linux 中使用 `chmod` 修改文件权限 #### 使用符号模式修改权限 可以利用字符来指定用户类别以及操作符,进而调整特定用户的访问权限。 对于增加执行权限的操作,可以通过如下方式实现: ```bash chmod +x file.py ``` 上述命令会向当前用户、同组用户以及其他用户都赋予执行权限[^1]。 如果仅希望给所有者添加执行权限,则应采用下面的形式: ```bash chmod u+x file.txt ``` 当目标是移除某些权限时,减号 `-` 就派上了用场;而等号 `=` 则用于精确设置权限而不影响到未提及的部分。例如,要将某个文件的权限严格设为只有所有者可执行,其余任何权限均被清除的话,应该这样做: ```bash chmod u=x file.txt ``` 此命令清除了原有的一切权限并只为所有者设置了执行权能。 #### 特殊权限位 特殊权限包括SUID, SGID 和 Sticky Bit: - **SUID**: 当程序运行时临时获得该程序拥有者的身份; ```bash chmod +s executable ``` - **SGID**: 对于目录来说意味着新创建于此内的文件自动继承其父级目录所属群组的身份; ```bash chmod g+s directory ``` - **Sticky Bit**: 主要在共享存储空间内发挥作用,防止他人删除不属于自己的文件或子目录; ```bash chmod +t directory ``` 这些特殊的权限标志能够增强系统的安全性和功能性。 #### 数字模式下的权限变更 另一种方法是以三位数形式表达权限级别,其中每一位分别对应着不同类型的使用者群体(即文件所有者、同一组成员和其他任何人),每位上的数值由三个二进制位组成,用来指示具体的 r(读取), w(写入) 或 x(执行) 权限状态。例如,“7”代表完全控制——既允许读又支持写还能执行。“0”则表示没有任何权利。因此,若需给予某文档最高级别的开放度,就可以这样操作: ```bash chmod 777 filename ``` 这使得所有人都获得了对该文件的最大化存取自由度[^2]。 #### 用户分类说明 通过字母标识不同的作用对象:“u”指代文件所有者 (user),“g”针对同一个用户组里的成员 (group),“o”涉及除此之外的所有个体 (others),最后,“a”作为通配符涵盖了以上全部三类人群 (all)[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值