二周第四次课(12月21日)

2.18 特殊权限set_uid

set_uid   普通用户临时拥有该文件所有者的权限(rws,文件标红),前提是该文件是二进制文件

二周第四次课(12月21日)_linux

s=S+x权限

二周第四次课(12月21日)_linux_02

给ls加上u权限,也可以减去set_uid权限

二周第四次课(12月21日)_linux_03

此时普通用户aming就可以使用ls命令查看root用户权限的文件

二周第四次课(12月21日)_linux_04


2.19 特殊权限set_gid

set_gid  使普通用户临时拥有所属组的权限(s,S 标黄)

二周第四次课(12月21日)_linux_05

当一个文件拥有g权限时,让普通用户临时拥有所属组的权限

正常情况下root用户在一目录下创建的文件,子目录,所属组也是root,但是该目录拥有set_gid权限时,创建的文件和目录所属组跟随该目录。

二周第四次课(12月21日)_linux_06


2.20 特殊权限stick_bit

stick_bit 目录的权限,防删除位t。tmp目录下的文件,其他用户可以修改文件,但不能删除不是自己所有者权限的文件

二周第四次课(12月21日)_linux_07


2.21 软链接文件

软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

二周第四次课(12月21日)_linux_08

创建软链接文件  绝对路径 相对路径 尽量使用绝对路径.

ln -s 源文件 软链接文件,可以链接文件,也可以链接目录二周第四次课(12月21日)_linux_09

实际应用

假设aming服务一直在运行,产生aming.log,boot分区快要满了,这时要将aming.log移到分区/二周第四次课(12月21日)_linux_10

操作:

二周第四次课(12月21日)_linux_11


2.22 硬连接文件

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止误删的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

硬连接的2个限制:

l  不允许给目录创建硬链接

l  只有在同一文件系统中的文件之间才能创建链接。 即不同硬盘分区上的两个文件之间不能够建立硬链接。这是因为硬链接是通过结点指向原始文件的,而文件的i-结点在不同的文件系统中可能会不同。


如下图,ln 1.txt 1_heard.txt  为1.txt创建1_heard.txt硬链接文件,可以看出两个文件的inode均为33583395,删除1.txt并不影响硬链接,而软链接文件出错。inode仍然存在,只有删除掉这个inode所有的硬链接文件,储存的信息才会被删除


二周第四次课(12月21日)_linux_12