一、文件属性概述
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
1)从左到右的10个字符表示,如图7-1所示
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
(1)0首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档(link file)
d 代表目录,相当于windows的文件夹
c 代表字符设备文件,例如鼠标,键盘
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
(4)第7-9位确定其他用户拥有该文件的权限 ---Other
2)rxw作用文件和目录的不同解释
(1)作用到文件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
(2)作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
二、chmod 改变权限
图7-3 基本语法
第一种方式变更权限
chmod [{ugoa}{+-=}{rwx}] 文件或目录
chmod u+x test.txt
chmod u-x,o+x test.txt
第二种方式变更权限
chmod [mode=421 ] [文件或目录]
chmod 777 test.txt
r=4 w=2 x=1 rwx=4+2+1=7
rwx = 4 + 2 + 1 = 7 (可读写运行)
rw = 4 + 2 = 6 (可读写不可运行)
rx = 4 +1 = 5 (可读可运行不可写)
示例:
最高权限777:(4+2+1) (4+2+1) (4+2+1)
第一个7:表示当前文件的拥有者的权限,7=4+2+1 可读可写可执行权限
第二个7:表示当前文件的所属组(同组用户)权限,7=4+2+1 可读可写可执行权限
第三个7:表示当前文件的组外权限,7=4+2+1 可读可写可执行权限
示例:
755:(4+2+1) (4+1) (4+1)
第一个7:表示当前文件的拥有者的权限,7=4+2+1 可读可写可执行权限
第二个5:表示当前文件的所属组(同组用户)权限,5=4+1 可读可执行权限
第三个5:表示当前文件的组外权限,5=4+1 可读可执行权限