一.特殊权限set_uid
概述:
- set_uid 只能作用于二进制可执行文件,对普通文本文件无效
- 普通用户执行拥有该权限的二进制文件时,可以使普通用户临时拥有root权限(例如:更改密码的命令 /usr/bin/passwd 对除 root 以外的用户不可读、不可写和不可执行,但是普通用户同样可以使用该命令更改自己的密码)
1.语法
chmod u+s binfile
chmod u-s binfile
2.示例
二.特殊权限set_gid
set GID 对文件来说有这样的限制和功能
1.仅对二进制文件有效
2.执行者对于该程序来说具有x权限
3.执行者在执行过程中将会获得该程序用户组的支持
set GID 对目录来说 有这样的限制和功能
1.用户对该目录具有r和x权限,才能进入该目录
2.用户在此目录下的有效用户组,将会变成该目录的用户组
3.用户拥有w权限的时候,用户所创建的新文件的用户组于目录的用户组相同
如果两个用户同时共享一个目录,
1.首先把用户ab加入到同一用户组下,
2.创建目录,设定2770权限,必须设定SGID权限,否则用户a创建的文件,用户b以其他人的身份只具备r权限
1.语法
chmod g+s [dir]/[binfile]
chmod g-s [dir]/[binfile]
2.示例
三.特殊权限stick_bit
概述:
防删除位。/tmp目录被设置了这个权限。
sticg_bit 对目录来说 有这样的限制和功能
1.仅对目录有效,对文件无效
2.当用户对此目录具有wx权限,即具有写入的权限
3.当用户在该目录下创建文件或目录时,仅自己与root才有权利删除该文件。
1.语法
chmod o+t [dir]
chmod o-t [dir]
2.示例
四.软链接文件
概述
1. 相当于windows的快捷方式
2.只是一个符号连接,所以软连接文件大小都很小
3.当运行软连接的时候,会根据连接指向找到真正的文件,然后执行
4.所有软连接文件的权限是777,而真正的权限是由指向的那个文件决定的
5.原文件丢失,软连接无法访问,会报找不到的错误
6.ls -al以后,软连接后面箭头指向的是原文件
1.语法
ln -s 源文件 目标文件
2.参数
-s:如果不加任何参数就进行连接,就是hard link,-s为symbolic link
-f:如果目标文件存在时,就主动将目标文件直接删除后再创建
3.示例
从上图可以看出,符号连接文件liz_soft_link是一个连接文件,连接数为1,因为符号连接会创建一个独立的文件inode。
从连接文件中写入数据的时候就是直接写入到了原始文件了。
删除(注意删除目录时,不能带/):
rm -f
五.硬链接
概述
1.原文件和连接文件的属性完全一样
2.连接文件和原文件的关系类似于:复制+同步更新
3.当原文件丢失,硬连接文件还可以访问
4.不能跨分区,不能针对目录使用
5.原理:
原文件和硬链接文件的i节点号是相同的(ls -i),1个文件名对应一个i节点,1个i节点可以通过多个文件名访问,所以,他们的属性完全相同,并且修改了其中一个的内容另一个也会跟着修改
1.语法
ln 源文件 目标文件
2.示例
可以看出两个文件liz和liz_hard_link所对应的inode编号一模一样,并且文件的连接数已经变成2了。
因此,我们可以设置多个文件名对应同一个inode,创建硬链接的时候磁盘空间中的inode数量不会改变,它只是在某个目录下的block中多写入一个关联数据而已,既不会增加inode也不会消耗block数量。
硬链接源文件删除时,目标文件不会受影响,但是软连接源文件删除了,目标文件会受影响。