SUID&SGID&Sticky&setfacl

一、特殊权限文件:

ls -l /bin/passwd

特殊权限:SUID,SGID,STICKY

进程的权限取决于发起者:用户

属主--->属组--->其他人 //根据文件的权限位置进行匹配

//这就叫做安全上下文

安全上下文:

1.进程以某用户的身份运行;进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作

2.权限匹配模型:

(1)判断进程的属主,是否为被访问的文件属主的权限,否则进入第2步

(2)判断进程的属主,是否属于被访问的文件属组,如果是,则应用属组的权限,否则进入第3步

(3)应用other权限

二、SUID:

/bin/ls ls文件的属主为root,wolf使用的时候,只能使用其他人的权限发起,但是进程的属主确是wolf的

默认情况下:用户发起的进程,进程的属主是其发起者;因此,其以发起者的身份在运行

但是有了SUID之后:

发起进程的时候,进程运行的身份将成为文件的属主,而不是进程的发起者

//相当于,没有的时候,我自己干,有了之后有人帮我干,重要文件

SUID:用户运行某程序时,如果此程序拥有SUID权限,那些程序运行为进程时,其属主不是发起者,而是程序文件的属主

实验1:SUID

[[[email protected] test]# ls /bin/cat -l

-rwxr-xr-x. 1 root root 54048 11月 20 2015 /bin/cat

[[email protected] test]# ls /etc/shadow -l

----------. 1 root root 1663 2月   8 20:05 /etc/shadow

cp /bin/cat /tmp

chmod u+s /tmp/cat

/tmp/cat /etc/shadow //使用wolf的身份是可以查看密码的

passwd命令具有SUID,但是只有root用户能够passwd USSERNAME

管理文件的SUID权限

chmod u+|-s FILE ...

展示位置:属主的执行权限位

如果属主原本有执行权限,显示小写s;

否则,显示为大写S

三、SGID

SGID:多用于修改目录的属主权限

展示位置:属主的执行权限位

如果属主原本有执行权限,显示小写s;

否则,显示为大写S

作用:

当目录属组有写权限时,且有SGID权限时,那么所有属于此目录的属组,且以属组身份在此目录中新建文件或目录时,新文件的属组不是用户的基本组,而是此目录的属组

实验2:

ls /tmp/test -dl

drwxrwxr-x. 2 root mygrp 6 2月   9 11:48 test

[[email protected] tmp]# usermod -a -G mygrp wolf

[[email protected] tmp]# usermod -a -G mygrp tmd

//分别切换wolf和tmd创建文件

-rw-rw-r--. 1 tmd  tmd    0 2月   9 11:51 b.tmd

drwxrwxr-x. 2 root mygrp 19 2月   9 11:51 test

chmod g+s /tmp/test

//分别切换再次创建文件

-rw-rw-r--. 1 tmd  mygrp 0 2月   9 11:54 c.tmd

-rw-rw-r--. 1 wolf mygrp 0 2月   9 11:53 c.wolf

-rw-rw-r--. 1 wolf wolf 0 2月   9 11:53 a.wolf

-rw-rw-r--. 1 tmd tmd 0 2月   9 11:53 a.tmd

//每个用户在目录内创建的文件的属组都是父目录的属组

四、Sticky:

wolf: rm -rf /tmp/test/a.tmd

wolf:rm -rf /tmp/test/c.tmd

//都可以删除,因为wolf也属于mygrp组,而/tmp/test的属组为mygrp

//只要属组对目录有w权限,组内的其他用户就可以删除和修改目录下所有的文件

展示位置:属主的执行权限位

如果属主原本有执行权限,显示小写s;

否则,显示为大写S

功用:

对于属组可写,或全局可写的目录,组内的所有用户或系统上的所有用户在次目录中都能创建新文件或者删除删除已有文件,

如果为此类目录设置sticky权限,则每个用户能创建新文件,且只能删除自己为属主的文件

//GUID主要用于文件,或者命令,用于改变进程发起的身份

SGID:主要用于目录,改变目录内创建文件的属组 //组内用户以及其他用户创建的文件,都是目录的属组

sticky:主要用于目录,限制用户只能删除属主为自己的用户

chmod [u|g] [+|-] s file ...

chmod o+t file //设置sticky权限

-rwsrwSr-T. 1 hadoop mygrp 27 2月   9 12:35 bb

//s没有x权限,S具有x权限,T具有x

特殊权限的另一方式:八进制权限位

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

基于八进制方式赋权时,可于默认的三位八进制数字左侧再加一位八进制数字

例如chomd 1777

五、facl

facl:file access control lists

文件额外的赋权机制:

在原有的u,g,o之外,另一层让普通用户能控制赋权给另外的用户或组的赋权机制;

setfacl -m u:wolf:rwx  a.txt

getfacl /PATH/TO/SOMEFILE

-rw-rwxr--+ 1 root root  0 2月   9 12:55 cc

//后面多一个+

赋权:

setfacl -m u:USERNAME:MODE file...

setfacl -m g:GROUPNAME:MODE file...

撤销操作:

setfacl -x u:USERNAME FILE...

setfacl -x g;GROUPANME file...

权限匹配:

属主--------->属组--------->其他人

facl的user facl的group

setfacl -m u:wolf:--- aa //限制wolf没有任何权限

SUID&SGID&Sticky&setfacl

时间: 2024-10-21 06:04:32

SUID&SGID&Sticky&setfacl的相关文章

SUID,SGID,Sticky Bit详解(转)

SUID属性 passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的密码.但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入,那为什么其他用户也可以修改自己的密码呢?这就是由于Linux的文件系统中的文件有SUID属性. [[email protected] ~]# ll /etc/shadow -r-------- 1 root root 1128 Feb 15 14:33 /etc/shadow SUID属性只能运用在

linux系统上的特殊权限SUID,SGID,STICKY

特殊权限:SUID SGID STICKY linux的安全上下文: 1.进程以用户的身份运行,进程是发起此用户的代理,因此以此用户的身份和权限完成所有的操作. 2.权限匹配模型: 1)判断进程的属主,是否以被访问的文件属主.如果是,则应用属主权限,否则进入第2步. 2)判断进程的属主,是否属于被访问的文件属组.如果是,则应用属组的权限,否则进入第3步. 3)应用other的权限. SUID: 默认情况下,用户发起的进程,进程的属主是其发起者,因此,其以发起者的身份在运行. SUID的功用:用户

linux suid sgid Sticky

SUID属性 passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的密码.但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入,那为什么其他用户也可以修改自己的密码呢?这就是由于Linux的文件系统中的文件有SUID属性. [[email protected] ~]# ll /etc/shadow -r-------- 1 root root 1128 Feb 15 14:33 /etc/shadow SUID属性只能运用在

linux文件系统特殊权限及suid sgid sticky

linux文件系统特殊权限及suid sgid sticky 1.Linux文件系统上的特殊权限 权限模型: u, g, o r, w, x 2.进程的安全上下文: 前提:进程有属主(进程以哪个用户的身份运行):文件有属主和属组: (1) 用户是否能够把某个可执行程序文件启动为进程,取决于用户对程序文件是否拥有执行权限: (2) 程序启动为进程后,此进程的属主为当前用户,也即进程的发起者:进程所属的组,为发起者的基本组: (3) 进程拥的访问权限,取决其属主的访问权限: (a) 进程的属主,同文

Linux文件系统上的特殊权限      SUID, SGID, Sticky(粘之位)

每个人都有自己的梦想,我想把它写出来. Linux文件系统上的特殊权限 SUID, SGID, Sticky(粘之位) 1 文件基本权限 r读, w写, x执行 user, group, other 2 安全上下文 前提:进程有属主和属组:文件有属主和属组: (1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限: (2) 启动为进程之后,其进程的属主为发起者:进程的属组为发起者所属的组: (3) 进程访问文件时的权限,取决于进程的发起者: (a) 进程的发起者,同

文件的特殊权限:suid sgid sticky

一.文件的特殊权限:suid    展示于文件属主的执行权限位:    如果属主本来有执行权限,则展示为s:否则,展示为S; 功用:对于一个可执行文件来讲,任何用户运行此程序为进程时,进程的属主不再是发起者本人,而可执行程序文件自己的属主: 管理文件SUID权限的方法:        chmod u+|-s FILE... [[email protected] ~]# useradd fedora [[email protected] ~]# cp /bin/cat /var/tmp/ [[em

Suid,sgid,sticky的三个权限的详细说明

Suid,sgid,sticky的三个权限的详细说明 一个文件都有一个所有者, 表示该文件是谁创建的. 同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置. setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权

SUID ,SGID ,Sticky

SUID passwd:s SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者: chmod u+s FILE chmod u-s FILE 如果FILE本身原来就有执行权限,则SUID显示为s:否则显示S: 如: chmod u+s /bin/cat 就能查看任何文件了 SGID: 运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组: chmod g+s FILE chmod g-s FILE develop team, hadoop, hbas

Linux系统上的特殊权限SUID,SGID,STICKY以及额外权限管理工具facl命令

Linux系统上的特殊权限 特殊权限:SUID, SGID, STICKY 安全上下文: 1.进程以某用户的身份运行:进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作: 2.权限匹配模型: (1) 判断进程的属主,是否为被访问的文件属主:如果是,则应用属主的权限:否则进入第2步: (2) 判断进程的属主,是否属于被访问的文件属组:如果是,则应用属组的权限:否则进入第3步: (3) 应用other的权限: SUID: 默认情况下:用户发起的进程,进程的属主是其发起者:因此,其以发起