操作系统中,每个文件都拥有特定的权限、所属用户和所属组。
权限是 Linux 操作系统中用来限制资源访问的机制,分为读(readable)
、写(writable)
和执行(excutable)
三组。分别对应文件的属主(owner)
,属组(group)
和其他用户(other)
。
通过 ls -l
命令,可以查看某个目录下文件或目录的权限。
示例:在任意目录下执行 ls -l
第一列的内容的信息解释如下:
文件的类型:
-
d
: 代表目录 -
-
: 代表文件 -
l
: 代表软链接(类似 windows 中的快捷方式)
Linux 中权限分为以下几种:
-
r
:代表权限是可读,也可以用数字4表示 -
w
:代表权限是可写,也可以用数字2表示 -
x
:代表权限是可执行,也可以用数字1表示
文件和目录权限的区别:
对文件和目录而言,读写执行表示不同的意义。
对于文件:
权限名称 | 可执行操作 |
---|---|
r | 可以使用 cat 查看文件的内容 |
w | 可以修改文件的内容 |
x | 可以将其运行为二进制文件 |
对于目录:
权限名称 | 可执行操作 |
---|---|
r | 可以查看目录下列表 |
w | 可以创建和删除目录下文件 |
x | 可以使用 cd 进入目录 |
需要注意的是,超级用户(root
)可以无视普通用户的权限,即使文件目录权限是000,依旧可以访问。 在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件都有所有者、所在组、其它组的概念。
-
所有者
一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者,用
ls ‐ahl
命令可以看到文件的所有者,也可以使用chown 用户名 文件名
来修改文件的所有者 。 -
文件所在组
当某个用户创建了一个文件后,这个文件的所在组,就是该用户所在的组,用
ls ‐ahl
命令可以看到文件的所有组,也可以使用chgrp 组名 文件名
来修改文件所在的组。 -
其它组
除开文件所有者和所在组的用户外,系统的其它用户都是文件的其它组