linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:
[coonote@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 apr 19 2012 boot
……
实例中,bin文件的第一个属性用"d"表示。"d"在linux中代表该文件是一个目录文件。
linux 支持很多文件类型,其中非常重要的文件类型有: 普通文件,目录文件,链接文件,设备文件,管道文件,socket 套接字文件等。
- 普通文件(-) : 用于存储信息和数据, linux 用户可以根据访问权限对普通文件进行查看、更改和删除。比如:图片、声音、pdf、text、视频、源代码等等。
- 目录文件(d,directory file) :目录也是文件的一种,用于表示和管理系统中的文件,目录文件中包含一些文件名和子目录名。打开目录事实上就是打开目录文件。
- 符号链接文件(l,symbolic link) :保留了指向文件的地址而不是文件本身。
- 字符设备(c,char) :用来访问字符设备比如硬盘。
- 设备文件(b,block) : 用来访问块设备比如硬盘、软盘。
- 管道文件(p,pipe) : 一种特殊类型的文件,用于进程之间的通信。
- 套接字(s,socket) :用于进程间的网络通信,也可以用于本机之间的非网络通信。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定,如图
“r”:代表可读(read);“w”:代表可写(write);“x”:代表可执行(execute)
从左至右用0-9这些数字来表示。
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。