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

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


1、Linux文件系统上的特殊权限

权限模型:

u, g, o

r, w, x

2、进程的安全上下文:

前提:进程有属主(进程以哪个用户的身份运行);文件有属主和属组;

(1) 用户是否能够把某个可执行程序文件启动为进程,取决于用户对程序文件是否拥有执行权限;

(2) 程序启动为进程后,此进程的属主为当前用户,也即进程的发起者;进程所属的组,为发起者的基本组;

(3) 进程拥的访问权限,取决其属主的访问权限:

(a) 进程的属主,同文件属主,则应用文件属主权限;

(b) 进程的属主,属于文件的属组,则应用文件属组权限;

(c) 则应用其它权限;

3、SUID:

(1) 任何一个可执行程序文件能不能启动为进程:取决于发起者对程序文件是否有执行权限;

(2) 启动为进程之后,其属主不是发起者,而程序文件自己的属主;这种机制即为SUID;

权限设定:

chmod u+s FILE...

chmod u-s FILE...

注意:

s: 属主原本拥有x权限;

S: 属主原本无x权限;

4、SGID:

默认情况下,用户创建文件时,其属级为此用户所属的基本组;

作用:一旦某目录被设定了SGID权限,则对此目录拥有写权限的用户在此目录中创建的文件所属的组为目录的属组,而非用户的基本组;

权限设定:

chmod g+s FILE...

chmod g-s FILE...

5、Sticky:

作用:对于一个多人可写的目录,此权限用于限制每个仅能删除自己的文件;

权限设定

chmod o+t FILE...

chmod o-t FILE...

SUID, SGID, STICKY

000

001

010

011

100

101

110

111

chmod 4777 FILE

chmod 3755 DIR

6、文件系统属性chattr权限

chattr [+,-,=] [选项] 文件或目录名

选项:

i:如果对文件设置i属性,那么不允许对文件进行删除,改名,也不能添加和修改数据;

如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件,也不能改名

a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;只能用重定向追加入数据

如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除文件

例子:

[[email protected] ~]# chattr +ia /etc/fstab
[[email protected] ~]# lsattr /etc/fstab
----ia-------e- /etc/fstab
[[email protected] ~]# chattr -ia /etc/fstab
[[email protected] ~]# lsattr /etc/fstab
-------------e- /etc/fstab

7、查看文件系统属性

lsattr 选项 文件名

-a 显示所有文件和目录

-d 若目标是目录,仅列出目录本身的属性,而不是子文件的属性

例子:

[[email protected] ~]# lsattr -a /usr/local/*
-------------e- /usr/local/bin/.
-------------e- /usr/local/bin/..
-------------e- /usr/local/etc/.
-------------e- /usr/local/etc/..
-------------e- /usr/local/games/.

6、sudo权限

root把本来只能管理员执行的命令赋予普通用户执行

sudo的使用

visudo打开/etc/sudoers配置文件

1.lisir ALL=NOPASSWD:/sbin/service,/sbin/ifconfig,/bin/mount

上述命令都不输入密码

2.lisir station 73=/sbin/service/,NOPASSWD:/sbin/ifconfig,/bin/mount

执行service命令需输入密码,ifconfig,mount 不需要

3.lisir station73=(poppy) /sbin/service,NOPASSWD:(root) /bin/mount

一个用户可以执行多个用户的某些命令

4.%stu station=NOPASSWD:NETWORKING./bin/

Stu组中的用户可以不输入用户密码执行文件中定义的NETWORKING ,以及目录/bin下的命令。还记得    吗?目录后面必须加上/结尾

5.poppy ALL=(ALL) ALL

这个命令很危险 它是是poppy用户可以在任何主机上以任何用户执行任何命令。

Sudo 的特点是:给用户尽可能少的权限,但能完成他们的工作,所有在编辑SUDOERS文件时,注意不要让非法用户截取root权限.

例子:

[[email protected] ~]# visudo
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
lisir   ALL=/sbin/fdisk

[[email protected] ~]# su - lisir
[[email protected] ~]$ sudo fdisk -l
[sudo] password for lisir:

Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00048e25


练习:

1、让普通用户能使用/tmp/cat去查看/etc/shadow文件;

答:

[[email protected] ~]# cp -rfp /bin/cat /tmp

[[email protected] ~]# chmod u+s /tmp/cat

[[email protected] ~]# su - lisir

[[email protected] ~]$ /tmp/cat /etc/shadow

2、创建目录/test/data,让某组内普通用户对其有写权限,且创建的所有文件的属组为目录所属的组;此外,每个用户仅能删除自己的文件;

答:

[[email protected] ~]# mkdir -p /test/data

[[email protected] ~]# chmod g+s /test/data/

[[email protected] ~]# chmod o+t /test/data/

[[email protected] ~]# chown :lisir /test/data

[[email protected] ~]# chmod g+w /test/data/

时间: 2024-07-28 19:00:13

linux文件系统特殊权限及suid sgid sticky的相关文章

Linux之特殊权限(SUID/SGID/SBIT)

特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:"-rwsr-xr-x.",此时就被称为Set UID,简称为SUID.那么这个特殊权限的特殊性的作用是什么呢?1.SUID权限仅对二进制程序(binary program)有效:2.执行者对于该程序需要具有x的可执行权限:3.本权限仅在执行该程序的过程中有效(run-time):4.执行者将具有该程序拥有者(owner)的权限.SUID的目的就是:让本来没有相

linux文件权限位SUID,SGID,sticky的设置理解

SUID含义:文件的该位被设置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来           执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户           的特权了,这是该位将变成一个安全漏洞,因此不要轻易设置该位. SGID含义:运行者将具有文件所有组的权限. 粘合位:  要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映像,这样做是为了节省大           型程序的启动时间,但是会占用系统资源,因此设置

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

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

SUID&SGID&Sticky&setfacl

一.特殊权限文件: ls -l /bin/passwd 特殊权限:SUID,SGID,STICKY 进程的权限取决于发起者:用户 属主--->属组--->其他人 //根据文件的权限位置进行匹配 //这就叫做安全上下文 安全上下文: 1.进程以某用户的身份运行:进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作 2.权限匹配模型: (1)判断进程的属主,是否为被访问的文件属主的权限,否则进入第2步 (2)判断进程的属主,是否属于被访问的文件属组,如果是,则应用属组的权限,否则进入第

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

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

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属性只能运用在

文件的特殊权限: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 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属性只能运用在