二周第四次课(12月21日)
2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件
2.18 特殊权限set_uid
set uid:该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限,即可以让普通用户执行时,临时拥有该命令所有者的身份。而对目录是没有任何意义的
比如, passwd这个命令就具有该权限。当普通用户执行passwd命令时,可以临时获得root权限,从而可以更改密码。
上图可以看到user用户多了【s】的权限,对应的【/usr/bin/passwd】是红色的
【s】就是【set uid】的权限
密码文件:【/etc/shadow】权限全为0
root用户是超级管理员,即使全0权限也能更改权限。
用户目录aming,无法执行【/root/ls】命令,普通用户是没有权限的。
给【ls】命令设置【set uid】,使其临时拥有root身份,这样可以在用户目录下执行。但root权限还是没有变。
如果去掉【s】的权限,【-s】就可以了
另一种写法。变成大写S,因为是没有“x“的权限。但不受影响。也能执行。
从大写S,变成小写的s,只要加上“x”的权限就可以了
你可能会发现set uid上的权限为大写的s,而不是小写的s,比如rws,这是因为该文件没有×权限所致,不管是大写的s还是小写的s,都表示它存在set uid或者set_gid权限,同理sticky bit 也一样。
2.19 特殊权限set_gid
set gid:该权限可以作用在文件上(二进制可执行文件),也可以作用在目录上。
1.当作用在文件上时,其功能和set uid—样,它会使文件在执行阶段具有文件所属组的权限。即普通用户临时拥有所属组的身份。
上图可以看到group组多了【s】的权限,对应的【/usr/bin/ls】是×××的
用户目录aming,无法执行【/root/ls】命令,普通用户是没有权限的
给【ls】命令设置【set gid】,使其临时拥有root组身份,这样可以在root组身份下执行
root目录对于root组来讲,是有读和打开的权限
2.目录被设置这个权限后,任何用户在此目录下创建的文件和目录都具有和该目录所属的组相同的组。
2.20 特殊权限stick_bit
sticky bit:可以理解为防删除位。文件是否可以被某用户删除,主要取决于该文件所在的目录是否对该用户具有写权限。如果没有写权限,则这个目录下的所有文件都不能删除,
同时也不能添加新的文件。 如果希望用户能够添加文件但不能删除该目录下其他用户的文件则可以对父目录增加该权限。 设置该权限后 , 就算用户对目录具有写权限, 也不能删除其他用户的文件。
系统tmp目录有这个权限
上图的【t】,就是【sticky bit】
任何用户都可以在目录tmp里写文件,创建目录
使用实例:
所有者和所属组都是aming
更改aming用户下创建的aming目录权限更改为777
在user1用户下能更改aming,但不能删除(root用户能删除)
把用户user1创建的user1目录更改为777,目录下也能创建文件和目录
也可以删除文件和目录,即使文件和目录没有写的权限
要看删除的文件和目录所在父目录有没有【w】的权限,而不是文件和目录本身的权限
一旦加上了“stick_bit“,你就不能删除了,但能修改。
2.21 软链接文件
软链接:是建立一个独立的文件,当读取这个链接文件时,它会把读取的行为转发到该文件所链接的文件上。不仅能软链接文件和目录还能跨分区。类似windows的快捷方式。
“/bin/ls --> /user/bin/ls“
在文件本身里存了另外一个的路径或目录的路径,链接文件的大小跟你的路径有关。路径越长文件越大
In命令的格式为:In [-s] [来源文件] [目的文件],该命令常用的选项是-s。如果不加-s选项就是建立硬链接,加上- s选项就建立软链接。做软链接尽量使用绝对路径
1.链接文件
2.链接目录
3.链接文件在当前目录,显示的是绝对路径会有问题,尽量不要使用
不能移动或删除源文件,否则会出错时(会红色显示,并闪烁)
4.工作中会遇到磁盘或分区快写满了,可以把日志文件放到其他空的分区下,但不能改路径。
方法:
把日志文件拷贝到空分区下,删除原来的日志文件,做个软链接
2.22 硬连接文件
硬链接:当系统要读取一个文件时,会先读inode信息,然后再根据inode中的信息到块区域将数据取出来。而硬链接是直接再建立一个inode链接到文件放置的块区域 ,即进行硬链接时该文件内容没有任何变化,只是增加了一个指向这个文件的inode,并不会额外占用磁盘空间。
真正存文件的信息数据的在inode上,inode号代表的它是一个inode,inode是存在于文件系统里的一种特殊的东西,会记录文件的属性如时间,权限等,还有比如在磁盘上某分区某块记录着这个文件的数据;
硬链接的特性:
创建了1个文件,和另1个文件inode号一样。这2个文件相互为硬链接文件
删除源文件后,硬链接文件没有问题(红框),inode数量-1;而软链接出错了(黄框)
硬链接有两个限制:
(1)不能跨文件系统,因为不同的文件系统有不同的inode table;
(2)不能链接目录。