03-Linux系统特殊权限

特殊权限set_uid,set_gid

SUID:
只对二进制程序有效
执行者对于程序需要有x权限
在程序运行过程中,执行者拥有程序拥有者的权限
例如:
普通用户执行passwd命令。

SGID
对于文件:
SGID对于二进制程序有用
程序执行着要有x权限
执行者在执行过程中会获得改程序用户组的权限(相当于临时加入了程序的用户组)

03-Linux系统特殊权限

特殊权限stick_bit

SBIT:
只针对目录有效
当用户对目录拥有wx权限时,用户在该目录创建的文件或目录,只有自己与root才可以删除。

*如何给文件设置特殊权限:

chmod u+s xxx # 设置setuid权限

chmod g+s xxx # 设置setgid权限

chmod o+t xxx # 设置stick bit权限,针对目录

chmod 4775 xxx # 设置setuid权限

chmod 2775 xxx # 设置setgid权限

chmod 1775 xxx # 设置stick bit权限,针对目录

软链接文件、硬连接文件

软链接(soft link):A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
硬链接(hard link):文件A是文件B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收

使用限制上说明:

硬链接:
a:不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的”..”除外,这个系统可以识别出来),存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)
b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统下。
c:不能对不存在的文件创建硬链接,由原理即可知原因。
软链接:
a.可以对目录创建软链接,遍历操作会忽略目录的软链接。
b:可以跨文件系统
c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了

**硬链接和软链接的作用***

硬链接:

硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。只删除一个连接并不影响节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软链接:

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

猜你喜欢

转载自blog.51cto.com/10856422/2125037