2019独角兽企业重金招聘Python工程师标准>>>

2.18 特殊权限set_uid

  • 权限的标准写法是4位数,第1位表示特殊权限。

  • 该权限仅针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。比如passwd这个命令就具有suid权限。当普通用户执行该命令时,可以临时获得root权限,从而修改密码。

从上图得知,passwd的权限是rws,而非rwx,这表明它具有suid权限。

  • 自定义一个suid权限

用户user1去查看root目录,失败。因为user1用户在root用户下没有权限。给ls命令增加一个suid权限,让user1用户在执行ls命令时,临时获得root用户的权限,操作如下:

有时候可能会看到rwSr-xr-x这样的权限里,s变成了大写的S,这是由于所有者没有执行权限。但是由于具有的s权限本身具有执行的功能,所以,一样可以使用命令。

2.19 特殊权限set_gid

  • 该权限可以应用在文件和目录上。设置在文件(可执行的二进制文件)上,作用和suid类似。当设置sgid的权限后,执行该文件的用户,会临时以该文件所属组的身份执行。若目录被设置该权限后,任何用户在此目录下创建的文件或目录,都具有和该目录所属组相同的组。

注意:给/tmp/cc1目录设置sgid权限后,权限由原来的drwx rwx rwx变为drwx rws rwx。此时以user1的身份在/tmp/cc1目录里创建新目录和新文件,其所属组都为root,而不是user1。

2.20 特殊权限stick_bit

  • 防删除位。一个文件是否可以被某用户删除,主要取决于该文件所在目录是否具有写权限。如果没有写权限,则这个目录下的所有文件都不能被删除,同时也不能添加新的文件或目录。

  • 如果希望用户能够添加文件,但同时不能删除该目录下的其他用户的文件,则可以对该你目录增加该权限。设置它后,就算用户对目录具有写权限,也不能删除其他用户的文件。

  • /tmp/目录就具有防删除位,即sticky_bit权限。

ls -ld /tmp
drwxrwxrwt. 13 root root 4096 8月  11 04:51 /tmp

其中的 rwt 就表示该目录具有sticky_bit权限。

[root@greenfinch /]# su - user1
上一次登录:五 8月 11 04:46:20 CST 2017pts/0 上
[user1@greenfinch ~]$ touch /tmp/user1.txt
[user1@greenfinch ~]$ echo "121" > /tmp/user1.txt
[user1@greenfinch ~]$ echo "121" > /tmp/user1.txt
[user1@greenfinch ~]$ exit
[root@greenfinch /]# su - user2
[user2@greenfinch ~]$ rm -f /tmp/user1.txt
rm: 无法删除"/tmp/user1.txt": 不允许的操作
[user2@greenfinch ~]$ ls -ld /tmp/user1.txt
-rw-rw-r--. 1 user1 user1 4 8月  11 05:18 /tmp/user1.txt

/tmp/目录的权限是777,可写、可读、可执行。但上面这个实验却表明,user2是不可以删除user1的文件的,这是因为/tmp/目录有一个特殊权限stick bit(防删除位)在起作用。

  • 特殊权限的设置方法
  1. suid,格式:chmod u±s filename
  2. guid,格式:chmod g±s dirname
  3. sticky_bit,格式:chmod o±t dirname

2.21 软链接文件

  • 软链接(symbolic link)的命令:ln [-s] [来源文件] [目的文件] (-s表示创建软链接)

:为安全起见,软链接必须以绝对路径指向文件或目录。

2.22 硬链接文件

  • 硬链接(hard link)的命令:ln [来源文件] [目的文件]

  • 软链接和硬链接的区别:

  1. 硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识);而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的 inode 有区别。

  2. 若原文件被删除,则该软链接失效,而硬链接是正常的。

  3. 软链接的指向,可以跨越磁盘分区,但硬链接不能。

  4. 硬链接不能用于指向目录,而软链接可以。

转载于:https://my.oschina.net/greenfinch/blog/1593408

第2周第4课:set_uid、set_gid、stick_bit、软(硬)链接文件相关推荐

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

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

  2. Set_uid set_gid stick_bit 软链接 硬链接

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

  3. linux 软链接重新连接,Linux总结(十二)set_uid set_gid stic_bit 软链接 硬链接

    一 set_uid 之前我们修改普通用户的登陆密码,都是以管理员身份在操作,比如我们在lv账户下,我们使用 sudo passwd lv 重置lv账户密码,此时我们直接拿到root权限忽略掉了文件权限 ...

  4. 特殊权限 set_uid、set_gid、stick_bit,软链接文件,硬链接文件

            特殊权限 set_uid set_uid: 这里的s 就是set_uid 权限 linux 下的passwd文件是允许普通用户修改自己的密码的 (/etc/shadow :密码文件) ...

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

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

  6. 大学计算机系一周上几节课,大学生晒课程表,一周45节课无双休,三个专业是满课重灾区...

    原标题:大学生晒课程表,一周45节课无双休,三个专业是满课重灾区 "等你们上了大学就轻松了."对于诸位高中生和大学生来说,这句话是不是相当熟悉?然而如果让大学生为学弟学妹送出一句忠 ...

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

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

  8. 三周第二次课(12月26)

    三周第二次课(12月26)  3.4 usermod命令 usermod 更改用户属性 usermod -u 111 username 更改用户uid usermod -g 123(grp2) use ...

  9. 第三周(CoreIDRAW课总结)

    第三周(CoreIDRAW课总结) 1.这节课学到了什么知识? 对CorelDRAW的一些形状工具的使用,手机草图的设计. 2.有哪些心德体会? CorelDRAW可以制作的形状很多. 3.这节课存在 ...

最新文章

  1. ES 在数据量很大的情况下(数十亿级别)如何提高查询效率?
  2. Leaflet中加载Geoserver发布的WMS服务显示地图
  3. mac上安装MySQL
  4. java适配器模式_适配器模式的设计,你get到了吗?
  5. Emlog精简模板无繁琐操作,适合新手
  6. springboot整合Mybatis例子
  7. Myeclipse J2EE Project, 折腾死我了。
  8. “出题老师”超全划重点,赛场高分必备干货!
  9. Java中string中hashcode_为什么String中的Java hashCode()使用31作为乘数?
  10. Android项目实战之高仿网易云音乐创建项目和配置
  11. python3.x编程模板总结
  12. 模板引擎-2-模板引擎提供的模板语法
  13. 语音信号预处理3——计算原始chirp信号与滤波后chirp信号的相关性
  14. Matlab在线运行网址
  15. 探讨OC的内存管理 以及防止循环引用retain cycle 代理为什么用weak block为什么用copy
  16. python-json校验-jsonpath
  17. C# 以MP3的格式将录制的音频数据写入文件流
  18. 用python监控A股股票波动并发送预警邮件_V3
  19. 360与百度研发工程师的待遇,工作环境全面对比
  20. 五行Python代码实现春节微信祝福神器(基于itchat)

热门文章

  1. 纯js制作的弹球游戏
  2. java对象--内部类
  3. HASH算法不是加密算法
  4. 拖慢操作系统启动的8个真实原因
  5. WebForm服务器验证控件与前端js自定义验证共同使用
  6. C错误异常处理,异常处理
  7. U盘安装win8教程(资源下载地址、远程桌面连接方法等)
  8. 技术开发频道一周精选2007-8-24
  9. 大型运维环境实施安全加固
  10. C++应用程序性能优化