author : Jhos
since : 2021/11/18
description : 关于命令 chmod 改变 Linux 文件权限。
查看Linux 文件权限
用 ls 命令就可以查看文件权限。
ls -l | head
显示当前目录下的前10条目录或者文件的信息。
怎么解读权限信息?
文件或者目录权限的信息由10位字符表示。
位置 | 意义 | 详情 |
---|---|---|
第1位 | 表示是文件还是目录 | - 表示普通文件,d 表示目录,b 区块设备文件, c 字符设备文件, s 数据接口文件,l 符号链接文件。 |
2-4位 | 文件/目录 所有者的权限 | 第2位表示读权限,- 无权限 , r 拥有读权限 ;第3位表示写权限,- 表示无权限,w 拥有写权限;第4位表示执行权限,- 表示无权限,x 拥有执行权限。 |
5-7位 | 文件/目录 组成员用户的权限 | 第5位表示读权限,- 无权限 , r 拥有读权限 ;第6位表示写权限,- 表示无权限,w 拥有写权限;第7位表示执行权限,- 表示无权限,x 拥有执行权限。 |
8-10位 | 文件/目录 其他用户的权限 | 第8位表示读权限,- 无权限 , r 拥有读权限 ;第9位表示写权限,- 表示无权限,w 拥有写权限;第10位表示执行权限,- 表示无权限,x 拥有执行权限。 |
chmod 命令更改权限的两种形式
- 符号参数
u(user) 代表用户, g(group) 代表用户组,o(other) 代表其他,a(all) 代表所有用户;+ 代表增加,- 代表减少。
chmod u+x test.sh
给 test.sh 文件的所属用户增加执行权限。
chmod g-w tell.txt
给 tell.txt 文件用户组的成员用户减少写权限。
- 数字参数
数字参数指定权限:4 代表读权限,2代表写权限,1代表执行权限;用3个数字即可表示出用户,组成员用户,其他用户的权限。
chmod 777 test.sh
给所有用户开发 test.sh 的读、写、执行权限。
755 表示文件所有者拥有读、写执行权限,组成员用户、其他用户拥有读、执行权限;其他数字组合以此类推。
两种方式个人更倾向于符号参数,可读性要强一些。