属性
查看一个文件,如下图:
命令:ll -hi /test.txt.ori
每一列解释:
第一列:
inode索引节点编号(相当于人的身份证、家庭住址,全国唯一);系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容。
第二列:
文件类型及权限。这一列共11个字符,其中第一个字符为文件类型,随后的9个字符为文件的对应权限,最后一个字符点号“.”是和selinux有关的一个标识。
第三列: 硬连接数
第四列: 属主:文件的拥有者,用户
第五列: 属组:文件属于的组,用户组
第六列: 大小
第七列: 月份
第八列: 日(号)
第九列: 时间
第十列: 文件名
一、文件权限
789列:文件的最后修改时间
文件时间有三种:
修改时间: modify,文件内容被改过之后的时间。
访问时间: access,文件内容被访问过的时间。
变化时间: change,文件属性发生改变的时间。
ls参数:
-t modify,文件内容被改过之后的时间。
-c change,文件属性发生改变的时间。
-a access,文件内容被访问过的时间。
权限
一、Linux基础权限是9个字符
分3组:
前三个字符是表示用户(属主)权限位 user(用户) u
中三个字符是表示用户组权限位 group(用户组) g
后三个字符是其它用户权限位 others(其他用户) o
同一组的三个字符权限也是有位置的:
r--
第一个字符的位置读的权限位
第二个字符的位置写的权限位
第三个字符的位置是执行的权限位。
二、Linux权限有两种表现形式:
1、数字表示法 称为8进制权限
r 4
w 2
x 1
-0
实际的权限表示就是将每3位相加即可:
rwxr-xr-x 755
rwx 7
r-x 5
r-x 5
2、字符表示法
rw-rw-r-x 代表的数字权限为665
–xr-x-wx 代表的数字权限为153
-wx–x--x 代表的数字权限为311
而以下数字权限表示的字符权限如下:
755 代表的字符权限为rwxr-xr-x
644 代表的字符权限为rw-r–r--
134 代表的字符权限为–x-wxr–
修改文件属性的用户和组
chown 用户.用户组 文件 这里的点可以用:替换。
chown 用户 文件
chown .用户组 文件 ====chgrp 用户组 文件
三、安全权限临界点:
文件不想被修改被执行:644 (默认)
目录不想被修改(删除移动创建)被执行(进入):755(默认)
四、控制默认权限 umask
默认umask:022
创建文件默认最大的权限为666 (-rw-rw-rw-),其默认创建的文件没有可执行权限x位。
666
-022
————
644 (相减得出644)
五、Linux系统特殊权限位
9位基础权限+还有3位特殊权限位
suid位:
suid(setuid)位通过S字符标识,存在于基本权限的用户权限位的x权限对应的位置,如果用户权限位对应的x权限位上有x权限,则suid就用小写的s标识,suid的s对应的数字权限为4,完整权限用八进制数4000表示。
sgid位:
sgid(setgid)位同样是通过S字符来标识,但是,sgid位存在于基本权限的用户组权限位的x权限对应的位置,如果用户组权限位对应的x权限位上有x权限,则sgid就用小写的s标识,suid的s对应的数字权限为2,完整的权限用八进制数2000表示。
sticky(粘滞位):
sticky(粘滞)位通过字符T标识,存在于基本权限的其他用户位对应的x权限位上,如果其他用户位的x权限位上有x权限,则sticky(粘滞)位通过小写的t标识,对应的数字权限是1,完整的权限用八进制数1000表示。
1、suid的作用:
简单地说,suid的作用就是让普通用户可以在执行某个设置了suid位的命令或程序时,拥有和root管理员一样的身份和权限(默认情况)。
suid核心知识小结:
1) suid功能是针对二进制命令或程序的,不能用在Shell等类似脚本文件上。
2) 用户或属主对应的前三位权限的x位上,如果有s(S)就表示具有suid权限。
3) suid的作用就是让普通用户可以在执行某个设置了suid位的命令或程序时,拥有和root管理员一样的身份和权限(默认)。
4) 二进制命令程序需要有可执行权限x配合才行。
5) suid对应的身份和权限仅在程序命令执行过程中有效。
6) suid时一把双刃剑,是一个比较危险的功能,对系统安全有一定的威胁,企业里用户授权可以用sudo等代替suid功能。
7) 在进行安全优化时,系统中默认设置了suid权限的命令要取消掉。
2、sgid的作用:
就是让普通用户可以在执行某个设置了sgid位的命令时,拥有和命令对应用户组(一般为root用户组)一样的身份和权限(默认)。
sgid基于目录的作用:
不同的人创建文件属于相同用户组,从而可以互相共享文件的权限。