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命令。

  1. 当前目录目前情况。
  2. [root@srv tmp]# ll
  3. total 52
  4. drwxr-xr-x 2 root root 4096 Feb 15 22:47 test2
  5. drwxr-xr-x 2 root root 4096 Feb 15 22:47 test3
  6. drwxr-xr-x 2 root root 4096 Feb 15 22:46 test4
  7. drwxr-xr-x 2 root root 4096 Feb 15 22:46 test5
  8. -r-xr-xr-x 1 root root 5120 Feb 15 22:46 test6
  9. -r-xr-xr-x 1 root root 3072 Feb 15 22:50 test7
  10. drwxr-xr-x 2 root root 4096 Feb 15 22:56 test1
  11. -r-xr-xr-x 1 root root 6144 Feb 15 22:48 test8
  12. -r-xr-xr-x 1 root root 9216 Feb 15 22:51 test9
  13. 为文件test6增加SUID属性。
  14. [root@srv tmp]# chmod u+s test6
  15. l 为文件test8增加SUID属性。在使用数字表示时,原来的三位不变,只是增加了一个千位专门用于SUIDSGIDSticky属性。下面的4就是SUID属性。
  16. [root@srv tmp]# chmod 4555 test8
  17. l 为目录test2增加SGID属性。
  18. [root@srv tmp]# chmod g+s test2/
  19. l 为目录test3增加SGID属性。
  20. [root@srv tmp]# chmod 2755 test3/
  21. l #为文件test7增加SUID和SGID属性,6=4(SUID)+2(SGID)。
  22. [root@srv tmp]# chmod 6555 test7
  23. l 为目录test4增加Sticky属性。
  24. [root@srv tmp]# chmod o+t test4/
  25. l 为目录test5增加Sticky属性。
  26. [root@srv tmp]# chmod 1755 test5/
  27. l 为目录test1增加SGIDSticky属性,3=2SGID)+1Sticky)。
  28. [root@srv tmp]# chmod 3755 test1/
  29. l 执行上述更改命令后当前目录的情况。
  30. [root@srv tmp]# ll
  31. total 52
  32. drwxr-sr-x 2 root root 4096 Feb 15 22:47 test2
  33. drwxr-sr-x 2 root root 4096 Feb 15 22:47 test3
  34. drwxr-xr-t 2 root root 4096 Feb 15 22:46 test4
  35. drwxr-xr-t 2 root root 4096 Feb 15 22:46 test5
  36. -r-sr-xr-x 1 root root 5120 Feb 15 22:46 test6
  37. -r-sr-sr-x 1 root root 3072 Feb 15 22:50 test7
  38. drwxr-sr-t 2 root root 4096 Feb 15 22:56 test1
  39. -r-sr-xr-x 1 root root 6144 Feb 15 22:48 test8
  40. -r-xr-xr-x 1 root root 9216 Feb 15 22:51 test9
  41. l 取消目录test1SGID属性。
  42. [root@srv tmp]# chmod g-s test1/
  43. 在使用umask命令显示当前的权限掩码时,千位的“0”就是表示SUIDSGIDSticky属性。
  44. 提示:在有些资料上SUIDSGID被翻译为“强制位”,Sticky被翻译为“冒险位”。

关于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是用一个用户绑定不同,它是跟文件而不是跟用户绑定。

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

linux UID,GID,EUID,EGID,SUID,SGID的更多相关文章

  1. 深入理解linux的权限设置和SUID,SGID以及粘滞位

    我们知道文件的权限可以用三个八进制数字表示.其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了.那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限.这个八进制数 ...

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

    特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:“-rwsr-xr-x.”,此时就被称为Set UID,简称为SUID.那 ...

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

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

  4. linux 文件三大特殊权限(SUID SGID SBIT)

    SGID(这个应该是文件共享里面最常用权限管理手段) 作用于目录或可执行程序,作用于目录代表在此目录创建的文件或目录,默认的属组继承此目录的属组.例如 我这个testgroup 没有设置SGID .我 ...

  5. Linux: uid/euid/suid的关系

    三种进程用户的简单解释:三种用户/组ID:uid/gid: 实际用户/组IDeuid/egid: 有效用户/组ID, 进程执行某个应用的用户/组ID.suid/sgid: 设置用户/组ID, 应用所属 ...

  6. /usr/bin/mysqld_safe_helper: Cannot change uid/gid (errno: 1) (转)

    From: https://www.rootusers.com/how-to-fix-mariadb-10-0-29-selinux-update-failure/ 安装mysql 10.0.29后, ...

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

    转自: http://www.linuxidc.com/Linux/2011-09/43194.htm 看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一 ...

  8. Linux 权限设置和 SUID, SGID 以及粘滞位sticky bit

    suid是指在执行suid程序的过程中,去访问其他文件时拥有suid程序属主的权限,而不是指对suid程序本身拥有suid程序属主的权限! 一. Linux 文件权限的表示方法 文件权限用 12 个二 ...

  9. Linux SUID SGID 讲解

    SUID属性 UNIX的内核是根据什么来确定一个进程对资源的访问权限的呢? 是这个进程的运行用户的(有效)ID,包括user id和group id.用户可以用id命令来查到自己的或其他用户的user ...

随机推荐

  1. RHEL6.5 设置yum,IP地址,解压缩

    系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接 服务器相关设置如下: 操作系统:RHEL 6.5 64位 IP地址:192.168. ...

  2. 6月来了,Java还是第一!

    2019年6月了,话说现在很多小孩子都开始接触幼儿编程了,我也经常看到幼儿编程的广告,编程门槛真的是越来越低. 除此之外,也有大量其他行业的从业者想转软件开发的,编程那么广,语言那么多,那么在这么多编 ...

  3. sql case when 用法

    sql语言中有没有类似C语言中的switch case的语句?? 没有,用case   when   来代替就行了.            例如,下面的语句显示中文年月         select  ...

  4. 【洛谷2926/BZOJ1607】[USACO08DEC]Patting Heads拍头(筛法)

    题目: 洛谷2926 (截止至本博客发表时,BZOJ1607题面有误,正确题面请到洛谷2926查看) 分析: = 一句话题意:给定\(n\)个数\(\{a_i\}\),求对于每个\(a_i\)有多少个 ...

  5. Jquery 《不想工作系列》--整理一下append、prependTo、after的区别

    还有其他类似方法,以后再加,直接上代码和图 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" &q ...

  6. Sql Server 如何解决多并发情况下,出现的多个相同ID数据

    在数据库中单独创建一张表,保存当前存储状态,“存储过程”  设置访问条件root初始值为“0” 如果root值不为0的时候就不可访问并进行相关操作. 在事务执行前将root值设置为1,事务结束后将ro ...

  7. React Native常用组件在Android和IOS上的不同

    React Native常用组件在Android和IOS上的不同 一.Text组件在两个平台上的不同表现 1.1 height与fontSize 1.1.1只指定font,不指定height 在这种情 ...

  8. 【转】升级还是权谋?从USB PD 2.0到3.0

    原文出处 http://www.eetop.cn/blog/html/43/n-433743.html 如同iPhone的出现,才让智能机真正主导手机市场一样,Type-C口发布后,USB PD才正式 ...

  9. html5——全屏显示

    基本概念 1.HTML5规范允许用户自定义网页上任一元素全屏显示 2.requestFullscreen() 开启全屏显示.cancleFullscreen() 关闭全屏显示 3.不同浏览器兼容性不一 ...

  10. SQL基本操作——ALTER

    ALTER TABLE 语句用于在已有的表中添加.修改或删除列. Persons 表: ID LastName FirstName Address City 1 Adams John Oxford S ...