特殊权限详解

Linux文件系统上的特殊权限
    SUID, SGID, Sticky

安全上下文
        前提:进程有属主和属组;文件有属主和属组;
        (1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限;
        (2) 启动为进程之后,其进程的属主为发起者;进程的属组为发起者所属的组;
        (3) 进程访问文件时的权限,取决于进程的发起者:
            (a) 进程的发起者,同文件的属主:则应用文件属主权限;
            (b) 进程的发起者,属于文件的属组;则应用文件属组权限;
            (c) 不满足以上两种条件,应用文件“其它”权限;

1 SUID
        (1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限;
        (2) 启动为进程之后,其进程的属主为原程序文件的属主;

权限设定:
            chmod u+s FILE...
            chmod u-s FILE...

2 SGID
        默认情况下,用户创建文件时,其属组为此用户所属的基本组;
        一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组;

权限设定:
            chmod g+s DIR...
            chmod g-s DIR...

3 Sticky
        对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除自己的文件;

权限设定:
            chmod o+t DIR...
            chmod o-t DIR...

SUID SGID STICKY
            000 0 无特殊权限
            001 1  stiky
            010 2  SGID
            011 3  STIKY+SGID
            100 4  SUID
            101 5  SUID+STIKY
            110 6  SUID+SGID
            111 7  SUID+SGID+STIKY

chmod 4777 /tmp/a.txt

几个权限位映射:
            SUID: user, 占据属主的执行权限位;
                s: 属主拥有x权限
                S:属主没有x权限
            SGID: group,  占据group的执行权限位;
                s: group拥有x权限
                S:group没有x权限            
            Sticky: other, 占据ohter的执行权限位;
                t: other拥有x权限
                T:other没有x权限

例子:查看文件a的权限:

SGID和stiky案例:

将test目录属组改为mygrp,并且给予属组写权限,将用户lee和user1加入到mygrp组

在test目录下分别以lee和user1的身份创建文件,发现文件属组都是用户原先的基本组

赋予SGID权限给test目录

继续用lee和user1创建文件,发现文件属组变成了mygrp

但是这个目录下的文件缺乏安全性,lee用户可以删除user1的文件,反之亦然,所以就有了stiky

现在lee用户就不可以删除user1的文件了

时间: 2024-08-07 08:06:42

特殊权限详解的相关文章

Linux学习笔记——用户及权限详解

用户及权限详解    用户.组.权限 安全上下文(secure context): 权限: r   w   x  文件: r:可读,可以使用类似cat等命令查看文件内容: w:可写,可以编辑或删除此文件: X:可执行,exacutable,可以命令提示符下当作命令提交给内核运行:  目录: r:可以对此目录执行ls以列出内部的所有文件: w:可以在此目录创建文件: x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息: rwx: r--:只读 r-x:读和执行 ---:无权限

Linux文件或目录权限详解

版权声明: ########################################################################### 本文的所有内容均来自作者刘春凯的学习总结,未经本人许可,禁止私自转发及使用. QQ:1151887353 E-mail:[email protected] [email protected] ########################################################################

Linux文件权限详解

在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变为任何他想指定的权限.一个文件也许只有读权限

Linux 特殊权限详解

1.什么是特殊权限? 我们知道权限有r,w,x.其实除了这三个,还有特殊权限.比如: [[email protected] ~]# ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 22960 Jul 17  2006 /usr/bin/passwd 可以发现权限位,有个s.特殊权限有如下3种: SUID SGID STICKY 2.关于suid 我们知道linux有一个进程安全模型的概念,比如Tom执行passwd来进行修改密码: 第一,注意到passw

[转]linux主机644、755、777权限详解

转自:http://my.oschina.net/qihh/blog/73135 从左至右,第一位数字代表文件所有者的权限,第二位数字代表同组用户的权限,第三位数字代表其他用户的权限. 从左至右,第一位数字代表文件所有者的权限,第二位数字代表同组用户的权限,第三位数字代表其他用户的权限. 而具体的权限是由数字来表示的,读取的权限等于4,用r表示:写入的权限等于2,用w表示:执行的权限等于1,用x表示: 通过4.2.1的组合,得到以下几种权限:0(没有权限):4(读取权限):5(4+1 | 读取+

Linux权限详解,多用户多组各种权限配置原理

网上有太多关于Linux权限详解,这里不啰嗦那些.主要解释下这些权限是杂用的,否则知道了什么用户.组之类的权限也配不好. 一.权限分类 r:读取权限,数字代号为"4". w:写入权限,数字代号为"2". x:执行或切换权限,数字代号为"1". -:不具任何权限,数字代号为"0". linux内每一段为r+w+x的值,最大777,见下图 二.权限在何时使用 目录写权限:可以增删目录内所有内容,改文件和目录名. 目录读权限:可以l

(赵小明RHCE笔记)linux基础之四 权限详解

一.special permissions for executables1.special permissions for executables:  -suid:command run with permissions of the owner of the command,not executor of   the command  -sgid:command runs with group affiliation of the group of the commandeg:file:us

linux 之用户和组及权限详解

linux之用户和组及权限详解 权限有三种 r:可读,w:可写,x:可执行 针对文件: r:可读, 表示可使用cat等命令查看 w:可写,  表示可写或删除指定文件 x:可执行,表示在bash下可当作命令使用执行 针对目录: r:可读,可使用ls命令显示内部的所有文件 w:可写, 可以在此目录中创建文件或子目录 x:可执行,可使用cd命令切换此目录,也可使用ls -l查看内部文件 权限的表现形式: 0 000 ---:无权限 1 001 --x: 执行 2 010 -w-: 可写 3 011 -

【Linux学习】Linux下用户组、文件权限详解

原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls ‐ahl命令可以看到文件的所有者 也可以使用chown 用户名 文件名来修改文件的所有者 文件所在组 当某个用户创

Linux 必备技能-用户及权限详解

Linux必备技能-用户及权限详解 /etc/passwd文件 Account:password:UID:GID:GECOS:directory:shell 登录名:密码点位符:UID:GID:注释信息:家目录:用户的默认shell 用户可以加入不止一个组: 基本组 额外组,附加组 /etc/group文件: 组名:组密码定位符:GID:以逗号分隔属于此组(以之做为额外组)的用户列表 Useradd命令: -uUID -gGID: 所属的基本组 -GGID: 所属的附加组 -c'COMMENT'