特殊权限
SUID,SGID,STICKY
权限匹配模型:
判断进程的 发起者 是否为被访问文件的 属主,如果是 则应用属主的权限;
判断进程的 发起者 是否为陪访问文件的 属组,如果是 则应用属组的权限
否则应用other
1.SUID: 可能会使普通用户获得root权限 危险;文件其他权限位应当有执行权限
管理文件SUID:
chmod u+|-s FILE
如果文件属主权限为 有执行权限显示为小写s -rwsr-xr-x. FILE
没有则为大写S -rwSr-xr-x. FILE
默认情况:用户发起的进程 属主为当前用户
具有SUID属性则:用户运行某程序时,会以该文件 属主身份运行
普通用户不可读或修改/etc/shadow,但是可以运行passwd更改密码,
相当于修改了/etc/shadow;因为/bin/passwd属主为root 且具有S权限
2.SGID: 通常应用在 目录; 目录属组应当有写权限
管理目录SGID:
chmod g+|-s /DIR/
功用:使创建在该目录下的目录或文件的属组 都变为该(具有SGID权限)目录的属组
使得属于同一开发组的成员用户在该目录下工作 可以互相更改彼此的文件;
因为该目录下文件属组会变为同一组,而同组具有相同的权限;
达到共享的目的!
3.STICYK:粘滞位 通常应用在 目录 目录属组应当有写权限
管理目录STICKY:
chmod o+|-t /DIR/
功用:使得该目录下某用户创建的文件 只有 自己可以删除
系统上的/tmp /var/tmp 默认具有t权限
管理特殊权限另一种方式:
suid sgid sticky 八进制
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
chmod 4777 FILE 文件具有SUID及满权限
FACL:file access control list 文件访问控制列表 设置特权 允许 或禁止
文件额外的赋权机制
在u,g,o之外 使用户可以将属主是自己的文件 赋权给另外的用户或组。
通常在u,g,o下普通用户无法更改自己文件的属组,无法让特定的用户获得rwx权限
设置文件facl:
setfacl -m u:USER:MODE FILE 赋权给用户
-m g:GROUP:MODE FILE 赋权给组
查看文件facl:
getfacl FILE
user:USERNAME:MODE
group:GROUPNAME:MODE
撤销赋权:
setfacl -x u:USER:MODE FILE
-x g:GROUP:MODE FILE
setfacl -m u:zhou:w testfile 给zhou用户写权限
setfacl -m u:he:--- tsetfile 禁止he用户 读写执行
权限查找路线:
属主->facl属主权限->属组->facl属组权限->other