SUID, SGID, sticky位可以参考:

http://onlyzq.blog.51cto.com/1228/527247/

SUID属性只能运用在可执行文件上,当用户执行该执行文件时,会临时拥有该执行文件所有者的权限。

如果可执行文件所有者权限的第三位是一个小写的“s”就表明该执行文件拥有SUID属性。

[root@srv ~]# ll /usr/bin/passwd

-rwsr-xr-x 1 root root 22960 Jul 17  2006 /usr/bin/passwd

如果在浏览文件时,发现所有者权限的第三位是一个大写的“S”则表明该文件的SUID属性无效,比如将SUID属性给一个没有执行权限的文件。

Sticky属性

Sticky属性只能应用在目录,当目录拥有Sticky属性所有在该目录中的文件或子目录无论是什么权限只有文件或子目录所有者和root用户能删除。

配置SUID/SGID/Sticky属性

配置普通权限时可以使用字符或数字,SUID、SGID、Sticky也是一样。使用字符时s表示SUID和SGID、t表示Sticky;4表示SUID、2表示SGID、1表示Sticky。在配置这些属性时还是使用chmod命令。

当前目录目前情况。
[root@srv tmp]# ll
total 52
drwxr-xr-x 2 root root 4096 Feb 15 22:47 test2
drwxr-xr-x 2 root root 4096 Feb 15 22:47 test3
drwxr-xr-x 2 root root 4096 Feb 15 22:46 test4
drwxr-xr-x 2 root root 4096 Feb 15 22:46 test5
-r-xr-xr-x 1 root root 5120 Feb 15 22:46 test6
-r-xr-xr-x 1 root root 3072 Feb 15 22:50 test7
drwxr-xr-x 2 root root 4096 Feb 15 22:56 test1
-r-xr-xr-x 1 root root 6144 Feb 15 22:48 test8
-r-xr-xr-x 1 root root 9216 Feb 15 22:51 test9
为文件test6增加SUID属性。
[root@srv tmp]# chmod u+s test6
l  为文件test8增加SUID属性。在使用数字表示时,原来的三位不变,只是增加了一个千位专门用于SUID、SGID、Sticky属性。下面的4就是SUID属性。
[root@srv tmp]# chmod 4555 test8
l  为目录test2增加SGID属性。
[root@srv tmp]# chmod g+s test2/
l  为目录test3增加SGID属性。
[root@srv tmp]# chmod 2755 test3/
l  #为文件test7增加SUID和SGID属性,6=4(SUID)+2(SGID)。
[root@srv tmp]# chmod 6555 test7
l  为目录test4增加Sticky属性。
[root@srv tmp]# chmod o+t test4/
l  为目录test5增加Sticky属性。
[root@srv tmp]# chmod 1755 test5/
l  为目录test1增加SGID和Sticky属性,3=2(SGID)+1(Sticky)。
[root@srv tmp]# chmod 3755 test1/
l  执行上述更改命令后当前目录的情况。[root@srv tmp]# ll
total 52
drwxr-sr-x 2 root root 4096 Feb 15 22:47 test2
drwxr-sr-x 2 root root 4096 Feb 15 22:47 test3
drwxr-xr-t 2 root root 4096 Feb 15 22:46 test4
drwxr-xr-t 2 root root 4096 Feb 15 22:46 test5
-r-sr-xr-x 1 root root 5120 Feb 15 22:46 test6
-r-sr-sr-x 1 root root 3072 Feb 15 22:50 test7
drwxr-sr-t 2 root root 4096 Feb 15 22:56 test1
-r-sr-xr-x 1 root root 6144 Feb 15 22:48 test8
-r-xr-xr-x 1 root root 9216 Feb 15 22:51 test9
l  取消目录test1的SGID属性。
[root@srv tmp]# chmod g-s test1/
在使用umask命令显示当前的权限掩码时,千位的“0”就是表示SUID、SGID、Sticky属性。
提示:在有些资料上SUID、SGID被翻译为“强制位”,Sticky被翻译为“冒险位”。

View Code

关于EUID,可以看:

http://www.cnblogs.com/limingluzhu/p/5702486.html

下面分别用RUID, EUID,SUID来表示实际用户ID,有效用户ID,设置用户ID。另外用户ID是个整型数,为了说明方便真接使用了用户名来代表不同的UID。先解释一下这几个ID的作用:

RUID, 用于在系统中标识一个用户是谁,当用户使用用户名和密码成功登录后一个UNIX系统后就唯一确定了他的RUID.

EUID, 用于系统决定用户对系统资源的访问权限,通常情况下等于RUID。

SUID,用于对外权限的开放。跟RUID及EUID是用一个用户绑定不同,它是跟文件而不是跟用户绑定。

从上可以看出/etc/shadow文件是一个属于root用户及root组的文件,并且只有EUID为root的用户具有读的权限,其它所有EUID都没有任何权限。当你在steve用户(EUID此时也为steve)的shell下试图用vim打开这个文件时会提示权限不允许。至于连root用户也只有读的权限我猜是为了不鼓励root用户使用vim类的编辑器去直接修改它,而要采用passwd命令来修改这个文件。如果你非要直接修改它,那么你可以使用chmod命令修改为属性为root可写,然后就可以修改了。用过UNIX系统的人都知道,任何一个用户都可以使用passwd这个命令来得新设定自己的密码。但从上面已经知道,非root用记是无法读这个文件的,那么普通用户是如何做到修改这个文件的呢?我们知道passwd这个命令实际执行的程序是/usr/bin/passwd, 查看这个文件属性如下:-r-s–x–x 1 root root 21944 Feb 12  2006 /usr/bin/passwd;

linux UID,GID,EUID,EGID,SUID,SGID相关推荐

  1. Linux中UID, GID, EUID, EGID,SUID、SGID讲解

    UNIX下关于文件权限的表示方法 通常我们使用ls -l查看文件的权限.通常我们可以得到10位的权限表示法,如:-rwxr-xr-x.我们对于以下格式进行解析: 9 8 7 6 5 4 3 2 1 0 ...

  2. Linux之特殊权限(SUID/SGID/SBIT)

    Linux之特殊权限(SUID/SGID/SBIT) 博客分类: Linux Linux脚本UnixF#  特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin ...

  3. linux uid gid 作用,Linux uid和gid

    Linux uid和gid教程 我们在登陆 Linux 系统时,虽然输入的是自己的用户名和密码,但其实 Linux 并不认识你的用户名称,它只认识用户名对应的 ID 号(也就是一串数字).Linux ...

  4. linux 文件访问控制 特殊权限 suid,sgid,sbit

    setuid 和 setgid 分别是 set uid ID upon execution 和 set group ID upon execution 的缩写.我们一般会再次把它们缩写为 suid 和 ...

  5. 【Linux】文件特殊权限 SUID/SGID/Sticky Bit

    linux中除了常见的读(r).写(w).执行(x)权限以外,还有3个特殊的权限,分别是setuid.setgid和stick bit 1.setuid.setgid 先看个实例,查看你的/usr/b ...

  6. linux uid 内核,Linux内核学习笔记: uid之ruid,euid,suid

    s的本质是让某个用户在执行s权限的程序时,拥有该程序文件的属主或者属组一样的访问权限.属主或者属组取决于s的位置 一. Linux 文件权限的表示方法 文件权限用 12 个二进制位表示,如果该位的值是 ...

  7. UID、EUID、GID和EGID

    UID.EUID.GID和EGID Linux中id真是太多了进程有pid,然后用户还有UID这种,真是有点绕. 在Linux当中一个进程(程序)拥有四个ID:真实用户UID.有效用户EUID.真实组 ...

  8. Linux : SUID SGID

    一.UNIX下关于文件权限的表示方法和解析 SUID 是 Set User ID, SGID 是 Set Group ID的意思. UNIX下可以用ls -l 命令来看到文件的权限.用ls命令所得到的 ...

  9. SUID SGID LINUX 权限安全设置

    于用户在UNIX下经常会遇到SUID.SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题.关于SUID. SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾 ...

最新文章

  1. 转换数字为像素px单位
  2. 《iPhone开发秘籍》带你深入iPhone开发秘境
  3. [转]数据结构:图的存储结构之邻接多重表
  4. java中的输入流类,Java数据输入流类
  5. Train Wreck 模拟-建树-优先队列
  6. cf1051F. The Shortest Statement(最短路)
  7. DCMTK:工作清单数据库测试程序
  8. Angular 内容投影 content projection 关于条件渲染问题的单步调试
  9. 全量增长模型-指标体系的构建及应用实战案例解析
  10. win10安装马上6的问题
  11. Toast调整显示位置
  12. Altium Designer20 PCB规则设置
  13. 利用EXCEL计算标准差。
  14. 华为社招嵌入式软件面试_华为社招面试感受 痛苦 悲催
  15. GPIOA高8位输入控制低8位输出(位运算)
  16. python 游戏(记忆拼图Memory_Puzzle)
  17. Ubuntu下web开发,php编辑器推荐
  18. 大数据技术的发展现状以及未来发展趋势
  19. SQL本地数据库连接服务器
  20. jfinal save 超过9个字段以上就会出现数组下标越界

热门文章

  1. Boost:以协程的方式实现带有单个默认值的echo服务器的实例
  2. VTK:Qt之RenderWindowUISingleInheritance
  3. OpenCV applyColorMap函数实现False color伪色彩的实例(附完整代码)
  4. C++Dynamic Array动态数组(附完整源码)
  5. QT的QScrollArea类的使用
  6. 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
  7. Elasticsearch的功能,Elasticsearch的适用场景,Elasticsearch的特点(来自学习资料)
  8. Spark获取某个手机号在某个基站下停留的时间和当前手机所在的位置的案例
  9. SQLite 删除表(http://www.w3cschool.cc/sqlite/sqlite-drop-table.html)
  10. Android中活动Activity方面的知识点