• 【基础知识】Sticky Bit, SUID,SGID


    作者:gnuhpc
    出处:http://www.cnblogs.com/gnuhpc/

    1.Sticky Bit

    1)作用于文件:曾经被一些老的Unix系统用来将可执行文件在第一次执行后放在swap中提高后续该程序的运行速度,现在已经过时

    2)作用于目录:若一个目录的Sticky bit被设置,那么只有这个目录的owner和root用户才能对目录中的文件或子目录进行删除和重命名:

    gnuhpc@gnuhpc-desktop:~$ mkdir teststickybit

    用ls命令看这个目录现在的权限情况:

    drwxr-xr-x  2 gnuhpc gnuhpc     4096 2011-09-10 13:08 teststickybit

    我们将其中放入一个文件a.out后目录的情况是:

    gnuhpc@gnuhpc-desktop:~/teststickybit$ ls -l
    total 8
    -rwxrwxrwx 1 gnuhpc gnuhpc 7835 2011-08-23 16:06 a.out

    添加sticky bit:

    gnuhpc@gnuhpc-desktop:~$ chmod +t teststickybit

    现在目录的权限变为:

    gnuhpc@gnuhpc-desktop:~$ ls -ld teststickybit
    drwxr-xr-t 2 gnuhpc gnuhpc 4096 2011-09-10 13:11 teststickybit

    尽管a.out有对所有人的全部权限,但是现在只能又其owner或者root对其进行重命名和删除:

    gnuhpc@gnuhpc-desktop:~/teststickybit$ su guest
    Password:
    guest@gnuhpc-desktop:/home/gnuhpc/teststickybit$ mv a.out b.out
    mv: cannot move `a.out’ to `b.out’: Permission denied
    guest@gnuhpc-desktop:/home/gnuhpc/teststickybit$ rm a.out
    rm: cannot remove `a.out’: Permission denied

    它可以保护文件,这也是/tmp有sticky bit的原因了。

    2.SUID

    全称是Set User ID,顾名思义,如果一个文件的SUID被设置了,那么当运行这个程序时,用户ID就会被“设置”(实际上并没有,只是权限上放开)为这个文件的owner的User ID。举例说明,我有一个文件设置了SUID,它的owner是root,那么我用一个用户,比如gnuhpc,来运行这个程序,这个程序会以root身份的权限来执行。这在你既希望某程序用某一个特定用户(比如root)的权限来做一些事,又不想给使用者都分配该用户权限时使用。希望加减SUID的都通过chmod u+/- s filename即可。

    举个例子:

    ping可以测试网络是否连接正常,其采用了ICMP协议进行收发报文。但是只有root用户才能建立ICMP报文,如何解决?通过SUID位来解决。看看/bin/ping的属性就知道了(rws中的那个s)。

    3.SGID

    类似的,某用户运行设置了SGID的文件时,其权限好像是该文件所属组的成员运行该文件一样。希望加减SGID的都通过chmod g+/- s filename即可。

    作者:gnuhpc
    出处:http://www.cnblogs.com/gnuhpc/


                   作者:gnuhpc
                   出处:http://www.cnblogs.com/gnuhpc/
                   除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


    分享到:

  • 相关阅读:
    python 函数2
    python 函数
    python 中string格式化
    python中的集合
    值&&引用传递&&序列化
    线程&&进程
    c#委托
    .net框架介绍
    类的定义
    ef中关于数据库中int为null问题
  • 原文地址:https://www.cnblogs.com/gnuhpc/p/2802298.html
Copyright © 2020-2023  润新知