二周第四次课(3月29日)
2.18 特殊权限set_uid
Linux系统的密码存放在/etc/shadow中的,而shadow权限是000普通用户能修改密码就是用的set_uid
首先查看一个passwd的权限
它的权限为rws,当s出现在文件所有者x权限上时,就被称为setuid,也就是suid的特殊权限
特点:suid权限仅对二进制程序有效,
执行者对于该程序有x的可执行权限,
本权限仅在执行该程序的过程中有效
执行者将具有该程序所有者(owner)的权限
所以普通用户在执行passwd程序的时候拥有了root的权限,可以修改用户密码
那是不是可以修改root密码,如下图
只有root用户可以指定用户名
例如:普通用户是不能查看根目录的,我们给ls增加s权限,就可以查看了
这样修改权限 #chmod u=rws /usr/bin/ls ,ls的x权限位变成了S,因为缺少了x权限,但并不影响它的使用
2.19 特殊权限set_gid
与set_uid类似,当s在用户组的x是则称为set_gidsgid对二进制程序有用
程序执行者对于该程序来说具有x权限
该程序在执行的过程中将会获得该程序用户组的支持
作用在程序上时,与suid类似,只是获得的权限是程序用户组的权限
例如:给ls组权限加s,test1用户有x权限,在执行中获得该程序组权限的支持,即r-x,
所以可以查看root目录
作用于目录时,创建的子文件子目录与此目录的用户组相同
2.20 特殊权限stick_bit
防删除位,防止别人删除自己的文件,t就是防删除位在tmp目录有t权限的情况下,任何人都可以在tmp目录下添加,修改文件,但只有该文件/目录的
创建者(root除外)t可以删除自己 的目录或文件
2.21 软链接文件
软链接文件就相当与快捷方式,路径越长文件越大,可以是文件也可以是目录,还可以跨分区
通过实例查看/bin其实指向/usr/bin,也就是说我们在使用/bin的时候实际调用的是usr/bin
给一个文件做软链接
ln -s 源文件 目标文件
# ln -s /tmp/yum.log /root
# ls -l /root
total 0
lrwxrwxrwx 1 root root 12 Mar 30 04:35 yum.log -> /tmp/yum.log
给一个目录做软链接
# ln -s /tmp/3721 /111
做软链接尽量使用绝对路径
2.22 硬连接文件
同一分区内,如果两个或两个以上文件使用同一inode,那它们互为硬链接文件创建硬链接文件
#ln 源文件 目标文件
硬链接文件删除一个文件不影响另一个
硬链接不能跨分区,因为每个分区都有自己的一套inode,会存在相同的inode
不能对目录做硬链接