在 Linux 系统中,不同的用户处于不同的地位,拥有不同的权限,为保护系统安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
Linux 系统的每一个文件或目录都有访问权限,这些访问权限决定了哪些用户和组群能访问文件和能执行的操作。
使用ls -l 命令可以显示文件的属性以及文件所属的用户和组。
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ ls -l
总用量 2200
drwxrwxr-x 2 linuxidc linuxidc 4096 2月 18 10:59 linuxidc.com
-rw------- 1 linuxidc linuxidc 1292472 2月 24 18:02 linuxidc.com.jpg
-rw-r--r-- 1 linuxidc linuxidc 834 2月 21 10:42 linuxidc.gif
-rw-r--r-- 1 linuxidc linuxidc 937514 2月 21 07:58 linuxidc.net.jpg
drwxrwxr-x 2 linuxidc linuxidc 4096 2月 26 12:12 linux.linuxidc.com
drwxrwxr-x 3 linuxidc linuxidc 4096 2月 27 10:45 Linux公社
-rw------- 1 linuxidc linuxidc 3287 2月 20 20:29
如图,以第一行为例:drwxrwxr-x 2 linuxidc linuxidc 4096 2月 18 10:59 linuxidc.com
其基本构成是:文件属性 链接数 所有者 所属用户组 最后修改时间 文件名
1.文件类型每个文件的属性由左边第一部分的10个字符来确定。
第一个字符代表文件类型,具体字符有:
d 目录- 普通文件
I 软链接,即链接文档(link file)
b 块设备,装置文件中可供存储的接口设备(可随机存储装置)
c 字符设备,装置文件中串行端口设备(一次性读取装置)
s 网络套接字(socket)
p
管道(piep)
2.文件权限
文件类型其后的九个字符三个一组,均为 r w x 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute),这三个权限的位置不会改变,若没有权限,仅会出现 - 符号。
以下图为例,从左至右用0-9表示10个字符,第0位确定文件类型,第1-3位确定属主权限拥有该文件的权限(该文件的所有者的权限),第4-6位确定属组权限拥有该文件的权限(所有者的同组用户),第7-9位确定其他用户拥有该文件的权限。
注:
读权限,表示可以用一些命令来读取某个文件的内容;写权限,表示可以编辑和修改某个文件;执行权限,通常指可以运行的二进制程序文件或者脚本文件。
一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。
3.链接数文件属性后面的数字代表链接到该文件所在的 inode 结点的文件名数目。
4.文件大小文件大小是以 inode 结点大小为单位来表示的文件大小,可以给 ls 加上 -lh 参数来更直观的查看文件的大小。
5.文件所有者与所属用户组每个文件都有一特定的所有者,也就是对该文件具有所有权的用户,同时,在 Linux 系统中,用户是按组分类的,一个用户属于一个或多个组,而文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux 系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
所有者与所属用户组,标明了该文件具所有权的用户及该文件所属的用户组。
【文件属性的更改】 1.更改文件属主语法:chown [选项] 属主名 文件名
常用选项
-R:递归更改文件属组,即更改某目录文件的属组时,若加上-R,那么该目录下的所有文件的属组都会更改。
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxr-xr-x 2 linuxidc linuxidc 4096 3月 11 14:23 linuxmi
linuxidc@linuxidc:~/linuxidc.com$ sudo chown root linuxmi
[sudo] linuxidc 的密码:
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxr-xr-x 2 root linuxidc 4096 3月 11 14:23 linuxmi
如图,名为linuxmi的普通文件的所属主从开始的 linuxidc 改变为 root
注:
chown命令更改文件属主的同时,也可以更改文件属组,语法为:chown [选项] 属主名:属组名 文件名