特殊权限 软连接文件 硬链接文件

1,特殊权限set_uid、set_gid、sticky_bit。

    ①set_uid。该权限针对二进制可执行文件,使文件在执行阶段临时拥有文件所有者的权限,比如passwd命令就具有该特殊权限,当普通用户执行passwd命令时,就临时获得root权限,从而可以改密码。如下图中的s就代表set_uid。修改密码的文件为/etc/shadow,该文件的权限为000,只有获得root权限了才能对其进行修改。


我们可以做一个实验,在普通用户模式下查看/root/会提示我们没有权限,我们在root用户下给/usr/bin/ls增加s权限,再回到普通用户模式查看/root/发现可以查看,但是权限并未更改。这就是set_uid在起作用。


需要注意的是,如果我们直接把user的权限该为rws则s为大写的S。这是因为没有x权限,当我们增加了x权限后,S就变回了s。


②set_gid。该命令可以作用在二进制文件或者目录上。当作用在文件上时,其命令效果和set_uid一样,它会使文件在执行阶段具有文件所属组的权限。目录被设置这个权限后,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组。


我们给234目录设置这个权限,然后更改其所属组为user1,这样我们在目录234下创建的所有文件和目录的所属组都为user1,移除该权限后,所属组变回root.


③stick_bit。可以理解为防删除位。文件是否可以被某用户删除,主要取决于该文件所在的目录是否对该用户具有写权限。如果没有写权限,则这个目录下的所有文件都不能删除,同时也不能添加新的文件。如果希望用户能够添加文件但不能删除该目录下其他用户的文件,则可以对父目录增加该权限。设置该权限后,就算用户对目录具有写权限也不能删除其他用户的文件。

/tmp/目录具有该权限。


切换到普通用户wwan,在/tmp/目录下新建一个文件wwan,则其所有者和所属组都为wwan,给其设置777权限。切换到普通用户user1,我们发现可以对文件wwan进行写操作但是不能删除。



2,硬链接和软链接。

硬链接:当系统要读取一个文件时,会先读取inode信息,然后再根据inode中的信息到块区域将数据取出来。而硬链接是直接再建立一个inode链接到文件放置的块区域,即进行硬链接时该文件内容没有任何变化,只是增加了一个指向这个文件的inode,并不会额外占用磁盘空间。可以对一个inode号进行多个硬链接,删除源文件时硬链接不受影响。硬链接和源文件不能全部删除,我们至少要保留一个有这个inode号的文件。链接有两个限制:⑴不能跨文件系统,因为不同的文件系统有不同的inode table;⑵不能链接目录。

软链接:与硬链接不同,软链接是建立一个独立的文件,当读取这个链接文件时,它会把读取的行为转发到该文件所链接的文件上。例如,现在有一个文件a,我们做了一个软链接文件b,b只是一个软链接文件非常小,b指向了a。当读取b时,b就会把读取的动作转发到a上,这样就读取了文件a。当我们删除文件a时,链接文件b不会被删除;但如果再次读取b时,会提示无法打开文件。然而当我们删除b时,a时不会有任何影响的。软链接可以解决磁盘空间不足的问题。

如图:/bin就是一个软链接文件,真正的文件在/usr/bin路径下。/bin/ls和/usr/bin/ls则是相同的命令。软链接最好做成绝对路径,也可以对目录进行软链接。软链接相对于windows下的快捷方式,说白了就是在文件本身里面存了另外一个文件的路径或目录的路径。路径越长则链接文件越大。


软链接:ln -s  源文件 目标文件 。

硬链接:ln 源文件 目标文件,没有参数-s 。

ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值