本帖最后由 sailyang 于 2020-12-25 15:30 编辑
特殊权限
SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者自身;
chmod u+s FILE
chmod u-s FILE
如果FILE本身原来就有执行权限,则SUID显示为s;否则显示S;
例如:用root用户创建文件 1.txt,该文件属性为700,普通用户无法用cat查看,但对/bin/cat 加上suid权限后,普通用户在cat时,使用的属主是
/bin/cat的属主权限,而非普通用户。
SGID: 运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组; chmod g+s FILE chmod g-s FILE 特殊使用场景:两个用户需要对一个目录下所有文件,都具有创建修改权限。
首先我们先创建两个用户,usera 和 userb。都给这两个用户添加附加组 project。然后创建一个test 目录,属组是project。
然后我们给test目录加上sgid特殊权限,再次查看效果。我们发现,usera在test目录下创建的a2.txt属组为project,
切换至userb用户,也可以对a2.txt 进行修改。
Sticky: 在一个公共目录,每个用户都可以创建文件,删除自己的文件,但不能删除别人的文件; chmod o+t DIR chmod o-t DIR
文件系统访问列表: FACL:利用文件扩展保存额外的访问控制权限 setfacl -m:设定 u:UID:perm g:GID:perm -x:取消,定义额外的访问控制。取消时,只要指明用户名或组名即可。 u:UID g:GID
举例:
|