特殊权限set_uid:

用ls -l查看 passwd命令文件的路径可以看到这个文件和之前所看到的文件有些不同,有红色的标记,而且有个s权限:

这个s就是set_uid的权限,这个权限可以让普通用户修改自己的密码,这个权限的原理是:当普通用户执行passwd命令的一瞬间给它赋予root的身份权限,相当于临时使用了root权限,所以才能够修改得了密码文件,这就是set_uid的权限的作用。

  注意:能够有set_uid权限的文件,这个文件一定得是二进制的可执行文件。

普通用户使用ls命令想要查看root目录是权限不够的,所以想要普通用户也能使用ls命令查看root目录或者查看需要root权限的文件、目录的时候,我们可以给ls命令授予set_uid权限:

给ls命令授予set_uid权限:

这时候用普通用户就可以查看root目录了:

去掉set_uid权限:

另一种设置set_uid权限的方法:

想要将s变成小写加个x权限即可:

目录也是可以设置set_uid权限的,但是也因为目录不是命令文件,没有实际的执行意义,所以设置set_uid权限也是没有意义的。

特殊权限set_gid:

set_gid和 set_uid挺像的,只不过这个set_gid权限是作用在所属组上面的,给ls命令设置一个set_gid权限:

所以set_gid权限的作用是临时给普通用户拥有此文件所属组的身份权限,目录也是可以设置这个权限的:

上面我们把Test1目录设置了set_gid权限,这时候把Test1目录的所属组改为user1后,在此目录下所创建的子目录或文件的所属组都会和父目录保持一致,也就是说它们的所属组都会是user1:

特殊权限stick_bit:

    tmp目录有stick_bit权限,这个权限的表示字符是t:

这个stick_bit权限是用于防止自己的文件被其他用户删除的,设置了权限后除了这文件的所有者和所属组之外的用户是不能删除的:

软链接文件:

  软链接文件类似于windows的快捷方式:

软链接文件相当于是存储了一个路径,所以这个软链接文件的大小就取决于路径的长度。

在lib64目录下软链接文件比较多:

  软链接文件的作用主要是节省存储空间,因为当需要复制一个文件的时候只需要复制那个文件的软链接文件即可,如果复制文件本身的话占用空间会大得多。

制作软链接:

ln -s命令可以制作软链接:

   目录也可以做一个软链接:

制作相对路径的软链接:

相对路径的软链接有弊端,如果把这个目录拷贝到别的计算机或者这个目录的名称发生改变的话,这个相对路径的软链接就会失效,所以制作软链接尽量使用绝对路径。

  例如我将123.txt移动到Test1目录下:

如果是使用的绝对路径就不会有这种问题:

所以尽量使用绝对路径。

软链接还可以解决磁盘存储空间不够的问题,例如tmp目录的快存储满了,但是这个目录下有一个日志文件需要一直被写入数据,这个时候就可以将这个日志文件先移动到一个磁盘空间大的目录下,然后将这个日志文件做一个软链接,接着将这个软链接文件放在tmp目录下,这样的话写入的数据是写入到原文件的,而不会写入到软链接文件,所以遇到这问题的时候可以用这种方式解决。


 硬链接文件:

     ln命令可以制作硬链接,硬链接有点类似于复制了原文件但又不完全是因为这个复制不会占用磁盘空间因为原文件和硬链接文件的inode号是一样的,使用的是同一个inode号。

所以原文件和硬链接文件实际上是同一个文件,当原文件的内容改动时,硬链接的文件也会跟着改动,同样的硬链接的文件内容改动时,原文件的内容也会跟着改动。硬链接只支持对文件进行制作,不能对目录进行制作:

硬链接的特性:两个文件相互为硬链接,并且信息一模一样,使用的inode号也是同一个,硬链接的原文件即便被删除了也不会影响到硬链接文件,因为原文件的inode还在被硬链接文件指向着。

这个inode号就像一个多个包装盒包装着的气体,这些包装盒就是原文件和硬链接文件,不管你有多少个包装盒,只要最后一个包装盒没有被撕掉那么这个气体就不会消失,如果最后一个包装盒都被撕掉了这个气体自然就会流走了。所以不管删除的是原文件还是硬链接文件,只要还剩最后一个文件指向着那个inode号,那么这个文件就还存在,如果最后一个指向那个inode号的文件都被删除了,那么这个文件就是被彻底删除了。

硬链接文件不会占用磁盘空间,因为它和原文件指向的是同一个inode,而且硬链接不允许跨目录分区,因为每个目录分区都有自己的inode体系:

本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1972113,如需转载请自行联系原作者

Linux特殊权限set_uid、set_gid、stick_bit命令和软链接文件、硬连接文件相关推荐

  1. 2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件...

    2019独角兽企业重金招聘Python工程师标准>>> 特殊权限set_uid set_uid:该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限: 通俗一点讲就是,普 ...

  2. 特殊权限位set_uid set_gid   stick_bit 软链接硬链接

    特殊权限位set_uid  set_gid   stick_bit  软链接硬链接 [root@alex ~]# ls -l /etc/shadow            存放密码文件 ------- ...

  3. Set_uid set_gid stick_bit 软链接 硬链接

    特殊权限set_uid 该权限只能赋予二进制可执行文件,授权后普通用户在执行该文件时临时拥有它的所有者的权限 目录也可添加该权限,但无实际意义 [root@24centos7-01 /]# which ...

  4. Linux 命令之软连接、硬连接详解

    一.软连接 1.创建语法         ln -s target source         解释下: ln -s:表示创建一个软连接: target:表示目标文件(夹)[即被指向的文件(夹)] ...

  5. 第九课 特殊权限set_uid、stick_bit,软链接,硬链接

    一.特殊权限set_uid 1. ls -l /usr/bin/passwd 看见这个文件有一个s(s=set_uid)权限.它可以让普通用户临时拥有该命令所有者的身份.前提文件是可执行的二进制文件. ...

  6. linux set权限,Linux 特殊权限set_uid(示例代码)

    特殊权限set_uid默认情况下 , 在新安装好的Linux系统下 , 仅有一个命令是拥有set_uid特殊权限的 . 拥有s权限的命令(文件) : 为了确保非所有者用户 , 在使用该命令时,临时拥有 ...

  7. Linux基础 权限与用户管理命令

    2019独角兽企业重金招聘Python工程师标准>>> 文件与目录权限 默认权限: 文件[0666-umask] 目录[0777-umask] 遮罩码:/etc/umask 文件 r ...

  8. linux用户与权限命令.,Linux基础 权限与用户管理命令

    文件与目录权限 默认权限: 文件[0666-umask] 目录[0777-umask] 遮罩码:/etc/umask 文件 r权限:cat等命令读 w权限:编辑|删除 x权限:执行 目录 r权限:ls ...

  9. 20210812 Linux相关命令:软连接与硬连接、tailf、mount

    软连接 软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接. 具体用法是:ln -s 源文件 目标文件. 当 我们需要在不同的目录,用到相同的文件时,我们不需要在 ...

  10. linux scp密码参数,使用scp命令安全地传输带有参数的文件

    本文以使用scp的例子介绍使用scp命令安全地传输带有参数的文件. 前言 scp命令用于将一台计算机之间的文件和目录复制到另一台计算机,这个实用程序有价值的是它使用ssh来隧道复制(安装与使用Mole ...

最新文章

  1. 【组队学习】【28期】基于Python的会员数据化运营
  2. PHP读取EXCEL
  3. DevExpress.XtraBars.Ribbon控件使用系列 (1)创建Ribbon窗体
  4. 正则表达式入门教程-连载(4)-点符号(.)
  5. IntelliJ IDEA License Server 本地搭建教程
  6. 作为Java程序员应该掌握的10项技能
  7. jzoj3792,P2062-分队问题【贪心】
  8. 【转】linx 设备名字来由 sd sr sg st
  9. CVPR 2020丨基于并行点检测和点匹配的单阶段实时HOI Detection方法
  10. android item复用,RecyclerView item正确的复用方式
  11. 读取配置文件五种方式
  12. 坯子库无法一键安装插件没用_坯子插件库_SketchUp坯子库(su插件管理器)下载 v2018.3官方版 - 121下载站...
  13. 工业智能网关,数据采集网关
  14. 射频中的回波损耗,反射系数,电压驻波比以及S参数的含义
  15. CMake中cmake_minimum_required的使用
  16. 如何通过Matplotlib画圆
  17. 网页版VIP邮箱有什么宝藏功能?网页邮箱官网注册入口有哪些?
  18. MongoDB全面总结
  19. 电路中的电流采样IC选型
  20. oracle中查看pga大小,关于oracle pga大小限制

热门文章

  1. angular.js双向数据绑定实现动画特效
  2. 检查Mysql引擎的方法
  3. 解决Sublime Text 2中文显示乱码问题
  4. LINUX占用太多内存的解决方法
  5. 一个apk调用另一个apk的某个activity
  6. JWT的Java使用 (JJWT)
  7. live555 RTSP服务器建立及消息处理流程
  8. qt 写的tcp客户端程序实现简单的连接接受和发送消息
  9. B - 吉哥系列故事——完美队形II HDU - 4513 (马拉车)
  10. python __import__和import区别_import reload __import__在python中的区别|python3教程|python入门|python教程...