在linux系统中每一个文件都有访问权限属性,在这里记录着哪个用户可以以何种方式访问这个文件,或者禁止访问当前这个文件。
文件类型和权限
文件权限记录分为两个部分,一部分记录文件的从属关系,一部分记录的是文件的访问方式。
例如当使用 ls -al查看文件时
如上图在“文件类型和权限”这一列总共有十个字符,分为两个部分
第一部分即第一个字符,它记录文件类型
'd' - 代表这是一个文件夹
'-' - 代表这是一个文件
'l' - 链接
's' - socket
'p' - named pipe
'b' - block device
'c' - character device第二部分就是剩余的字符记录了文件的权限,文件权限每三个字符一段共分为三段
1. 第一段 文件所有者的权限
2. 第二段 文件所属组的权限
3. 第三段 其他用户的权限
文件权限每一段有三位,对应为 可读/可写/可执行
r “可读” 用数字 4 表示
w “可写” 用数字 2 表示
X(小X) “可执行” 用数字 1 表示
- “无权限” 用数字0 表示
X (大X) 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加 x 属性。
文件拥有者和文件所属组
如上图右边黄色框里面第一列记录的是文件的拥有者,第二列记录的是文件所属的组。
一个栗子
文件权限和文件所属关系是合起来影响用户对文件的操作权限的
例如:一个文件 sample.txt 查看文件时他在列表中的属性是这样的
-rwxrw-r-- 1 brucewu root 9 6月 7 22:09 test
权限列的第一位是 ‘-’ 说明这是一个文件
这个文件的拥有者是 ‘brucewu’,这个我所属的组是 'root'
文件的权限第一段‘rwx’,表示文件拥有者对文件有 <code>可读/可写/可执行</code> 权限
文件的权限第二段‘rw-’,表示属于root组的用户对文件有 <code>可读/可写</code> 权限
文件的权限第三段'r--',表示其他用户对文件只有 <code>可读</code> 权限
修改文件的权限 - chmod命令的使用
直观方式,使用权限简写给文件赋相应的权限
格式: chmod 文件权限操作 文件名称
chmod a+x test #对test文件,给所有用户赋予 可执行 权限
chmod u+rw test #对test文件,给拥有者赋予 可读/可写 权限
chmod u-rw test #对test文件,给拥有者取消 可读/可写 权限
chmod g+rwx test #对test文件,给文件所属组的用户赋予 可读/可写/可执行 权限
chmod o+rw test #对test文件,给其他用户赋予 可读/可写 权限数字方式,使用数字方式修改权限
格式: chmod 权限数字 文件名称
chmod 755 test #对test文件,设置为 rwxr-xr-x 权限
权限数字的含义如下:
\ | 文件拥有者 | 文件所属组 | 其他用户|文件最终权限
----|----|------|----|
权限|rwx | rw- | r-x|rwxrw-r-x
二进制|421 | 420 | 401|765
二进制结果|7 | 6 | 5| 765
修改文件从属关系
- 修改文件拥有者 - chown
格式: chown 用户名 文件名
chown root test #将test文件的拥有者设为 root - 修改文件所属的组 - chgrp
格式: chgrp 组名 文件名
chgrp admin test #将test文件的所属组设为 admin组