详见: http://blog.csdn.net/m13666368773/article/details/7615125

Linux SETUID机制

(1)进程运行时能够访问哪些资源或文件,不取决于进程文件的属主属组,而是取决于运行该命令的用户身份的uid/gid,以该身份获取各种系统资源。

(2)对一个属主为root的可执行文件,如果设置了SUID位,则其他所有普通用户都将可以以root身份运行该文件,获取相应的系统资源。

(3)可以简单地理解为让普通用户拥有可以执行“只有root权限才能执行”的特殊权限。

(4)setuid,setuid的作用是让执行该命令的用户以该命令拥有者的权限去执行,比如普通用户执行passwd时会拥有root的权限,这样就可以修改/etc/passwd这个文件了。它的标志为:s,会出现在x的地方,例:-rwsr-xr-x  。而setgid的意思和它是一样的,即让执行文件的用户以该文件所属组的权限去执行。

(5)我们知道/tmp是系统的临时文件目录,所有的用户在该目录下拥有所有的权限,也就是说在该目录下可以任意创建、修改、删除文件,那如果用户A在该目录下创建了一个文件,用户B将该文件删除了,这种情况我们是不能允许的。为了达到该目的,就出现了stick  bit(粘滞位)的概念。它是针对目录来说的,如果该目录设置了stick  bit(粘滞位),则该目录下的文件除了该文件的创建者和root用户可以删除和修改/tmp目录下的stuff,别的用户均不能动别人的,这就是粘滞位的作用。

Chmod命令中的特殊权限位含义:

1、S_ISUID 04000 文件的 (set user-id on execution)位

2、S_ISGID 02000 文件的 (set group-id on execution)位

3、S_ISVTX 01000 文件的sticky 位

上面的都是8进制数。

如何设置UID、GID、STICK_BIT:

SUID:置于 u 的 x 位,原位置有执行权限,就置为 s,没有了为 S .

chmod u+s  xxx # 设置setuid权限

chmod 4551 file // 权限: r-sr-x—x

SGID:置于 g 的 x 位,原位置有执行权限,就置为 s,没有了为 S .

chmod g+s  xxx # 设置setgid权限

chmod 2551 file // 权限: r-xr-s--x

STICKY:粘滞位,置于 o 的 x 位,原位置有执行权限,就置为 t ,否则为T .

chmod o+t  xxx # 设置stick bit权限,针对目录

chmod 1551 file // 权限: r-xr-x--t

【Linux】理解setuid()、setgid()和sticky位的更多相关文章

  1. 特殊文件权限(setuid、setgid 和 Sticky 位)

    可执行文件和公共目录可以使用三种特殊类型的权限:setuid.setgid 和 sticky 位.设置这些权限之后,运行可执行文件的任何用户都应采用该可执行文件属主(或组)的 ID. setuid 权 ...

  2. Linux命令——umask、setuid、setgid、sticky bit、chmod、chown

    umask 权限遮罩码,用于控制文件,文件夹的默认权限 文件默认权限:    666-umask 文件夹默认权限: 777-umask 管理员root:                  umask= ...

  3. Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)

    Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...

  4. Linux Setuid(SUID)和Setgid(SGID) sticky bit

    http://www.php100.com/html/webkaifa/Linux/2010/0812/6392.html 1.setuid和setgid的解说 setuid和setgid位是让普通用 ...

  5. Linux权限管理:setUID、setGID 和 Sticky BIT

    1.setUID.setGID 和 Sticky BIT 的功能详解 setuid 功能: 1.只有可执行的二进制文件程序才能设定 SUID 权限(前提) 2.命令执行者要对该程序有执行(x)权限(必 ...

  6. setuid、setgid、sticky的权限简单用法

    如何设置setuid.setgid.sticky的权限: setuid :置于 u 的 x 位,原位置有执行权限,就置为 s,没有了为 S . chmod 4xxx file chmod u+s xx ...

  7. 五大权限:UGO权限、SetUID SetGID Sticky、ACL权限、chattr(文件系统级别的权限)、SELINUX

    五大权限:UGO权限.SetUID SetGID Sticky.ACL权限.chattr(文件系统级别的权限).SELINUX   ======================文件属性以及ugo权限= ...

  8. setuid setgid

    http://blog.csdn.net/oo__yan/article/details/7076889 在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置. 问题是:用户的信息保存在 ...

  9. Linux下Setuid命令! 转载

    Linux下Setuid命令! 转载  在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置. 问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/sha ...

随机推荐

  1. IP address/地址 检查

    1.Determine if a string is a valid IP address in C Beej's Guide to Network Programming 2.9.14. inet_ ...

  2. Generate GUID using vbscript

    在 .msi 中 的 Component table,查看 ComponentId 列,是一个16进制数的字符串, 用 InstallShield IDE 添加一个 component ,Compon ...

  3. OpenJudge 2747 数字方格

    1.链接地址: http://bailian.openjudge.cn/practice/2747 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 如上图,有3个 方格,每个 ...

  4. vs快捷键及常用设置(vs2012版)

    vs快捷键: 1.ctrl+f F是Find的简写,意为查找.在vs工具中按此快捷键,可以查看相关的关键词.比如查找哪些页面引用了某个类等.再配合查找范围(整个解决方案.当前项目.当前文档等),可以快 ...

  5. LESS语法备忘

    变量 很容易理解: @nice-blue: #5B83AD; @light-blue: @nice-blue + #111; #header { color: @light-blue; } 输出: # ...

  6. AngularJS(4)-服务(Service)

    1.$location服务 $location 服务,它可以返回当前页面的 URL 地址 2.$http服务 $http 是 AngularJS 应用中最常用的服务. 服务向服务器发送请求,应用响应服 ...

  7. Unity3D--学习太空射击游戏制作(二)

    步骤三:创建主角 游戏的主角是一艘太空飞船,我们将使用一个飞船模型作为游戏的主角,并赋予他一个脚本,控制他的运动,游戏体的组件必须依赖于脚本才能运行. 01:在Project窗口找到Player.fb ...

  8. linux下tomcat的安装

    本文主要内容: (1)安装apr,这是 Apache 为了提升 Tomcat 的性能搞的一套本地化 Socket, Thread, IO 组件也就是说它有高级 IO 功能, 操作系统级别的功能调用, ...

  9. 【python】Windows安装Beautiful Soup

    环境:win10,python 3.5,Beautiful Soup 4.1   步骤1:设定python为系统环境变量,具体设置如下图,在文本后加上";C:\Python35;C:\Pyt ...

  10. jQuery编写插件--封装全局函数的插件(一些常用的js验证表达式)

    上一篇写到了jQuery插件的3种类型,介绍了第一种类型的写法--封装jQuery对象的方法插件.这一篇要介绍第二种插件类型:封装全局函数的插件:这类插件就是在jQuery命名空间内部添加函数:这类插 ...