2.18特殊权限set_uid :该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。 比如passwd命令就具有该权限,当普通用户执行passwd命令是,可以临时获得root权限,从而可以更改密码。
2.19 特殊权限set_gid :改权限可以作用在文件(二进制可执行文件),也可以作用在目录上。当作用在文件时,和set_uid功能一样;它会是文件在执行阶段具有文件所属组的权限。若目录被设置这个权限后,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组。
2.20 特殊权限stick_b:可以理解为防删除位。文件是否被某用户删除,主要取决于文件所在的目录是否对该用户有读写权限。
我们知道/tmp是系统的临时文件目录,所有的用户在该目录下拥有所有的权限,也就是说在该目录下可以任意创建、修改、删除文件,那如果用户A在该目录下创建了一个文件,用户B将该文件删除了,这种情况我们是不能允许的。为了达到该目的,就出现了stick bit(粘滞位)的概念。它是针对目录来说的,如果该目录设置了stick bit(粘滞位),则该目录下的文件除了该文件的创建者和root用户可以删除和修改/tmp目录下的stuff,别的用户均不能动别人的,这就是粘滞位的作用。
总结如下: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权限,针对目录
软链接
相当于windows中的快捷方式,由于软连接所创建的文件为一个独立的新的文件,所以会占用掉indoe与block系统有个/root/crontab,它是/etc/crontab的软连接,如果删掉源文件/root/crontab,那么/etc/crontab这个文件的数据也不能查看了,就好像windows里面的桌面快捷方 式,源文件被删除了,快捷方式也失效了
语法:ln -s 【源文件或目录】 【软件链名字】
应用:(1)可以应用于目录 (2)可以跨文件系统(3)不会增加被链接文件的链接次数
(4)大小为指定的绝对路径所包含的字符总数(5)有自己的inode号(6)权限无关紧要
硬链接: [硬链接]-->指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户 就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和 其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。 语法:ln 【源文件】 【硬连接文件】 硬连接总结:
(1)硬链接的inode相同 (2)只能对文件创建,不能应用于目录 (3)不能跨分区