Securitycontext1.进程以某个用户身份运行,进程是发起进程的用户的代理,所以操作是以这个用户的身份和权限完成的;2、权限匹配模型:(1)判断进程的属主是否为被访问文件的属主;如果是,请申请所有者的授权;否则转步骤2;(2)判断进程是否属于被访问文件的组;如果是,申请该组的权限;否则转步骤3;(3)申请他人的权限;SUID默认情况下,当一个用户启动一个进程访问一个文件时,那么这个进程是由该进程启动的,如果是以用户身份运行的,那么该操作也是以该用户的权限完成的。SUID的作用:当用户运行程序时,如果程序文件有SUID,那么进程就会以文件的所有者身份运行该程序;管理文件的SUID:chmodu+|-sFILE...显示位置:owner如果属主的执行权限位有原来的执行权限,则显示为小写的s;否则,它将是一个大写的S;SGID中默认,用户的私有组或基本组属于用户在某个目录下创建的文件;功能:用户在带有SGID的目录下创建的文件或目录属于该目录;管理文件的SGID权限:chmodg+|-sFILE...显示位置:该组的执行权限位,如果属于组原执行权限显示为小写s;否则,它是一个大写的S;默认情况下,当一个目录组有写权限时,如果用户所在的组属于该目录组,则该用户可以删除该目录下的所有文件;Sticky功能:同组用户或系统所有用户只能删除具有Sticky权限的目录下属主为自己的文件,不能删除同组的其他文件;管理文件的SUID权限:chmodo+|-tFILE...显示位置:其他用户的执行权限位如果其他用户原本有执行权限,则显示为小写的t;否则,它是一个大写的T;系统上的/tmp和/var/tmp目录具有默认的粘性权限;另一种管理特殊权限的方法suidsgidstickyoctalpermissions000001010011100101110111基于八进制赋权时,可以在默认的三位八进制数左边添加一个八进制数;例如:chmod1777fileaccesscontrollistfacl:fileaccesscontrollists文件附加授权机制:除了原有的u,g,o之外,还有一层允许普通用户控制对其他用户或用户的授权机制团体;相当于文件的隐藏属性。getfacl命令查看文件的隐藏属性getfaclFILE...user:USERNAME:MODEgroup:GROUPNAME:MODEsetfacl命令1.授权用户:setfacl-mu:USERNAME:MODEFILE...2。授权组:setfacl-mg:GROUPNAME:MODEFILE...3。撤销授权:setfacl-xu:USERNAMEFILE...setfacl-xg:GROUPNAMEFILE...练习1.允许普通用户使用/tmp/cat查看/etc/shadow文件;(1)set/usr将/bin/cat复制到/tmp目录#cp/usr/bin/cat/tmp(2)给/tmp/cat文件赋予SUID权限#chmodu+s/tmp/cat(3)使用centos用户登录系统,执行/tmp/cat程序查看/etc/shadow文件#/tmp/cat/etc/shadow2,创建目录/test/data,让普通用户在一个某个组对它有写权限,所有创建的文件都属于该组目录所属的组;此外,每个用户只能删除自己的文件;(1)创建目录/test/data,然后将目录所在组改为centos,并为目录所在组添加写权限注意:如果没有centos组,先创建一个centos组#mkdir-pv/test/data#chown:centos/test/data#chmodg+w/test/data(2)创建三个用户,分别为user1、user2、user3,并将centos作为另外一组三个用户#useradduser1#useradduser2#useradduser3#usermod-aGcentosuser1#usermod-aGcentosuser2#usermod-aGcentosuser3(3)分别切换三个用户,此时在/test/data/目录下创建一个文件。此时每个用户创建的文件的属主和属组都是自己的用户名;(4)给/test/data目录添加SGID属性,然后执行步骤(4)#chmodg+s/test/data为该目录添加SGID权限位后,用户在该目录下创建的文件属于文件的组就是属于目录的组;此时,因为该目录有写权限,而这三个用户的附加组都属于该目录的组,此时,对于这三个用户中的任意一个用户,也就是附加的用户目录所属组或基本组可以删除目录下的所有文件。(5)给/test/data目录添加Sticky属性,验证普通用户是否可以删除其他用户拥有的文件#chmodo+t/test/data当目录添加Sticky权限时,用户只能删除这个文件从属的master是自己的文件。
