14、权限管理之文件特殊权限SUID、SGID、SBIT

来源:互联网 发布:力高答题软件 编辑:程序博客网 时间:2024/05/22 00:26

这三个权限只有root才能赋予


1、SUID(除了系统有的,一般用户不要主动去给系统命令设置SUID,非常危险,一旦设置错权限就完蛋了!!!)

1.1 SUID限制:只有可执行的二进制文件才能赋予SUID权限,能执行这个二进制文件的用户必须要有执行权限

1.2 举例理解SUID :例如某个命令拥有SUID权限,当普通用户执行该命令就立马灵魂附体(暂时性)拥有该命令宿主的权限,只在程序运行期间会拥有该权限,当执行完成就会释放该权限;拿/usr/bin/passwd这个命令来举例,权限:rwsr-xr-x (当前三个出现s权限,就有SUID权限,当中间三个拥有s权限就拥有SGID权限,当后三个拥有s权限就有SBIT权限),passwd拥有SUID,普通用户是拥有修改自己密码权限的,我们知道修改密码其实就是修改/etc/shadow文件,但是/etc/shadow这个文件权限是000不可能让用户写进东西的,只有root才能有w权限写入,这样普通用户就无法修改密码了,但是这个命令拥有了suid权限,在普通用户执行该命令时候灵魂附体为root用户权限,这时候就可以修改/etc/shadow文件,密码可以修改成功了,当执行完命令,就不会再有root权限。例如cat命令没有suid权限,普通用户用cat 查看/etc/shadow就会权限不足,这就是suid

1.3 设定SUID方法

1.3.1   方法一:chmod  4755  filename     //显示为:-rwsr-xr-x        4代表:SUID,,755普通权限

1.3.2  方法二 :chmod u+s  filename  //显示为: -rwsr-xr-x        4代表:SUID,755普通权限 

【注】:如果设置完查看suid权限为S,就说明警告不能执行,一般是普通用户对这个文件没有执行权限会出现

1.4 取消SUID方法

1.4.1 方法一 :chmod 4755 filename

1.4.2 方法二:chmod u-s filename 


【注】:除了系统有的,一般用户不要主动去给系统命令设置SUID,非常危险,一旦设置错权限就完蛋了!!!,加入给vim设置SUID,那普通用户可以随便编辑任何文件,所以一般用户不要主动去给系统命令设置SUID,一般把系统设置的SUID的文件做个整理,在写一个shell程序进行整个服务器扫描,当出现了不存在整理中的文件出现SUID就要删除这个文件SUID



2、SGID(一般也不要搞,危险)

2.1 :针对文件:只有可执行的文件才能设置SGID,能执行这个文件的用户要有可执行权限,当用户执行文件这段时间用户灵魂附体组身份升级为该文件所属组

        例子:用的不多,最长见的就是locate(rwx--s--x)命令 ,所属组是slocate,而/var/lib/mlocate/mlocate.db用户组是slocate,当执行locate普通用户所属组升级为slocate,对mlocate.db就有查询权限,其他时候普通用户是不允许查看的,没法用cat、vim等进行查看,命令结束后将释放权限。

2.2:针对目录:普通用户必须拥有读(看到目录东西)和执行(进入目录),普通用户在进入该目录新建文件所属组是此目录所属组,所有者不会变

2.3 设定SGID方法   

方法一:chmod 2755 filename/dirname     //显示为: rxwr-sr-x         2代表:SGID,,755普通权限

方法二:chmod g+s filename/dirname

2.4 取消SGID方法

方法一:chmod 755 filename/dirname

方法二 :chmod g-s filename/dirname


3、SBIT :粘着为

3.1 只能给目录分配,普通用户要对这个目录有写(上传、删除、创建)和执行权限(进入)

当一个目录被设置了SBIT权限,这个目录下的文件只有自己和root能删除文件,其他用户对此目录就算有w权限,也无法删除

3.2 设定SBIT方法

方法一:chmod 1755 dirname//显示为:   rxwr-xr-t           1代表:SBIT,,755普通权限

方法:chmod o+t dirname//显示为:   rxwr-xr-t           1代表:SBIT,,755普通权限


3.3取消设定SBIT方法

方法一:chmod 755 dirname

方法二:chmod o-t dirname

原创粉丝点击