• SGID权限简介


    SGID简介:
    1.只有可执行二进制程序才能设置SGID权限
    2.命令执行者要对该程序拥有执行(x)权限
    3.命令执行者在执行程序的时候,组身份升级为该可执行程序文件的属组
    4.SGID权限只在该程序执行过程中有效,也就是组身份只在程序执行过程中发生改变,命令结束用户组身份恢复.

    以文件查找命令locate为例说明

    1 [vampire@LAMP ~]$ ll /usr/bin/locate 
    2 -rwx--s--x. 1 root slocate 35548 Sep 24  2012 /usr/bin/locate   //拥有SGID权限,普通用户执行该命令时,组身份会切换到slocte

    使用locate命令查找文件时,实际是在/var/lib/mlocate/mlocate.db数据库中查找

     1 [vampire@LAMP ~]$ ll /var/lib/
     2 total 140
     3 -rw-r--r--.  1 root    root     728 May 20 09:32 logrotate.status
     4 drwxr-xr-x.  2 root    root    4096 May  2  2016 misc
     5 drwxr-x---.  2 root    slocate 4096 May 20 09:32 mlocate   //可以看到属主和所属组成员才能看到该目录下的文件
     6 
     7 [vampire@LAMP ~]$ cd /var/lib/mlocate/
     8 -bash: cd: /var/lib/mlocate/: Permission denied
     9 [vampire@LAMP ~]$ ll /var/lib/mlocate/
    10 ls: cannot open directory /var/lib/mlocate/: Permission denied

    普通用户使用locate命令可以查找文件是因为执行locate命令时组身份切换到该目录所属组slocate

    SGID针对目录的作用
    1.普通用户必须对该目录拥有rx权限,才能进入此目录
    2.普通用户在该目录中的有效组会变成该目录的属组
    3.若普通用户对此目录拥有w(可创建文件)权限时,新创建的文件的默认属组是这个目录的属组

    1 [root@LAMP tmp]# chmod 2775 test
    2 You have new mail in /var/spool/mail/root
    3 [root@LAMP tmp]# ll
    4 total 20
    5 drwxrwsr-x 2 root    root    4096 May 20 16:24 test

    将身份切换为vampire

    1 [vampire@LAMP ~]$ cd /tmp/test/
    2 [vampire@LAMP test]$ ll
    3 total 0
    4 [vampire@LAMP test]$ touch one.file    //普通用户vampire没有权限在test目录中创建文件,上面给test目录赋予2775,普通用户只有rx权限,没有w权限
    5 touch: cannot touch `one.file': Permission denied

    将test目录权限修改为2777

    1 [root@LAMP ~]# chmod 2777 /tmp/test/
    2 [root@LAMP ~]# ll /tmp/test/
    3 total 0
    4 [root@LAMP ~]# ll /tmp/
    5 total 20
    6 drwxrwsrwx 2 root    root    4096 May 20 16:24 test

    再将身份切换为vampire创建文件

    1 [vampire@LAMP ~]$ cd /tmp/test/
    2 [vampire@LAMP test]$ touch one.file
    3 [vampire@LAMP test]$ ll
    4 total 0
    5 -rw-rw-r-- 1 vampire root 0 May 20 16:37 one.file  //新建文件的默认属组是这个目录(test)的属组(root)
  • 相关阅读:
    全面理解javascript的caller,callee,call,apply概念(修改版)
    动态显示更多信息(toggle_visible函数的运用)
    再论call和apply
    RSS News Module的应用
    准备制作一套全新的DNN皮肤(包括个人定制或企业级定制)
    ControlPanel研究系列二:简单Ajax模式的ControlPanel(SimplAjax)
    New_Skin发布了....
    如何定制dnn的FckEditor
    Blog已迁移到dnnsun.com(最新DotNetNuke咨询平台)
    新DNN皮肤的经验及成果分享
  • 原文地址:https://www.cnblogs.com/iaknehc/p/6882505.html
Copyright © 2020-2023  润新知