粘滞位的了解及使用

一、权限

1.文件的权限

r (read) :可读取该文件的实际内容
w(write):可以编辑,新增或者修改该文件的内容(但不含删除该文件)
x(execute):代表该文件可以被系统执行

对于文件的r ,w, x来说,主要针对的"文件的内容"而言,与文件名的存在与否没有关系

2.目录的权限

r (read):具有读取目录结构列表的权限,用ls查看
w(write):写的权限操作包括:新建文件或目录、删除文件或目录(不论文件的权限是什 么)、对文件或目录重命名、移动文件或目录等
x(execute):目录的X权限代表的是用户能否进入该目录称为工作目录。拥有此权限,就可以cd进去,否则,将不能进入目录内部

二、粘滞位(粘着位)

1.介绍

(1)最常见的用法在目录上设置粘滞位,也只能针对⽬录设置,对于⽂件⽆效。设置了粘滞位后,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件

(2)一个目录具有粘滞位,则在other的X位会表现为 t,或者T。T和t的区别在于,原来x位上有x权限,有了粘滞位则表现为t,否则,则表现为T

(3)在linux系统的实际应用中,粘滞位一般用于/tmp,/var/tmp目录,以防止普通用户删除或移动其他用户的文件

(4)粘滞位t权限给其它用户带来的安全限制,仅仅在于不能删除和移动/更名文件 (即粘滞位保护的是文件不被其他用户rm或mv,即使文件对其他用户有写权限,777都不行!),因为它针对的是目录

2.权限

(1)SetUID  =  4:在所有者设置的权限

只对二进制程序有效;执行者对于程序需要有x权限;在程序运行过程中,执行者拥有程序拥有者的权限;suid会在所属用户权限本应是x的地方显示s;

设置suid权限的方法:a.文件当前数字权限前面加4。b.chmod u+s  目录(设置)    chmod u-s  目录(取消)

eg:/etc/shadow文件权限是000,只有root用户能对它有查看权限,普通用户无法查看它的内容

(2)SetGID  =  2:在所属组设置的权限

针对文件的话,sgid只对二进制程序有用;程序执行着要有x权限;执行者在执行过程中会获得改程序用户组的权限sgid会在所属用户组权限本应是x的地方显示s;

设置suid权限的方法:a.文件当前数字权限前面加2。b.chmod g+s  目录(设置)    chmod g-s  目录(取消)

eg:/usr/bin/locate文件中用户组权限中应该出现x的位置显示的s,表示这个locate命令具有sgid权限,而普通用户只有x权限而没有rw权限

(3)粘着位  =  1:在其他人的位置设置的(使用t来表示)

只能针对目录而言,对文件来说无效!当用户对目录拥有wx权限时,用户在该目录创建的文件或目录,只有自己与root才可以删除,设置了粘滞位t权限的目录其他用户权限位置的"x"将变为"t"

设置粘滞位权限的方法:a.文件当前数字权限前面加1。b.chmod o+t  目录(设置)    chmod o-t 目录(取消)

eg1:查看/tmp  /var/tmp目录的权限 

eg2:设置粘滞位t权限

a. 用root身份创建所属者和所属组都是root权限为777(可读可写可执行)的/opt/tom目录(其他用户可以删除目录内容)

b. 在/opt/tom目录下创建两个文件,权限默认,其他用户可以删除目录内容

c. 切换到普通用户,去删除刚刚在root下新建的两个文件ceshi1 和 ceshi2。发现可以删除

普通用户对/opt/tom目录下的文件可以删除和重命名权限,尽管文件的other用户是r--,但/opt/tom目录下的other用户是rwx(普通用户对/opt/tom目录有可写权限,对该目录下的文件可以进行增删改操作)

d.回到root用户下,给/opt/tom目录加上粘滞位,查看发现other 的x权限变为t,则添加成功,再在该目录下新建文件test1和test2.sh

e.切换到普通用户下,对文件test1和test2.进行删除和重命名操作(结果不能删除和重命名,即使目录的权限是777,说明粘滞位给其他用户带来安全限制)

f. 证实文件所有者和root依旧可以删除文件。用root对该文件进行删除操作(可以删除)

g. 验证当文件对other用户有可写权限的时候,粘滞位t权限的保护作用(尽管文件t1,t2的权限为777,但目录设置了粘滞位t权限,其他用户还是不能进行删除和重命名操作)

h.回到root用户,删除t1、t2文件

i. 删除粘滞位t权限的设置

结论:
当一个目录被设置为"粘滞位"的t权限后,则该目录下的文件只能由  
1. 超级管理员(root)删除或移动/更名(rm或mv)  
2. 该目录或文件的所有者删除或移动/更名(rm或mv)

注意:
1. 虽然目录有了粘滞位t权限,other用户不能对该目录的文件进行删除或者移动操作,但如若other对该文件由w权限,还是可以进行修改文件内容
2. 粘滞位只对目录有效,对文件无效

自学linux——22.粘滞位的了解及使用的更多相关文章

  1. linux—粘滞位的设置

    粘滞位(Stickybit),或粘着位,是Unix文件系统权限的一个旗标.最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件.如果不为目录设置粘滞位,任 ...

  2. Linux粘滞位的设置

    粘滞位(Stickybit),或粘着位,是Unix文件系统权限的一个旗标.最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件.如果不为目录设置粘滞位,任 ...

  3. Linux中的特殊权限粘滞位(sticky bit)详解

    Linux下的文件权限 在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问.最为我们熟知的一个文件或目录可能拥有三种权限,分别是读.写.和执行操作, ...

  4. 【转】Linux中的特殊权限粘滞位(sticky bit)详解

    Linux下的文件权限 在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问.最为我们熟知的一个文件或目录可能拥有三种权限,分别是读.写.和执行操作, ...

  5. Linux文件和目录的粘滞位(sticky bit)

    今天维护系统时发现一个非常诡异的问题:AAA用户和BBB用户同属AAA组,但用AAA用户创建的文件,权限设置为777后,还是不能用BBB用户删除.诡异! 几经周转,发现AAA用户创建文件位置的上层目录 ...

  6. 深入理解linux的权限设置和SUID,SGID以及粘滞位

    我们知道文件的权限可以用三个八进制数字表示.其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了.那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限.这个八进制数 ...

  7. Linux中相关知识(atexit(),fork(),粘滞位)

    1.atexit()函数 函数名: atexit 头文件:#include<stdlib.h> 功 能: 注册终止函数(即main执行结束后调用的函数) 用 法: int atexit(v ...

  8. suid, sgid,粘滞位,chattr

    一. 基本含义和作用 1. SUID:当设置了SUID 位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权. 2. SGID:与上面的内容类似.用于设置 ...

  9. SUID、SGID、粘滞位

    粘滞位(Stikybit) +t,只有用户自己可以删除自己创建文件,其他用户只能查看,不能删除.        1:创建两个用户  useradd oo                         ...

随机推荐

  1. CDN技术的原理及优缺点

    CDN的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定.通过在网络各处放置节 ...

  2. go语言协程安全map

    前言: 在go语言中 map 是很重要的数据结构.Map 是一种无序的键值对的集合.Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值.问题来了,这么安逸的 数据结构 ...

  3. setPriority()优先级

    1 . 优先级表示重要程度或者紧急程度.但是能不能抢到资源也是不一定.2 . 分配优先级:反映线程的重要或紧急程度线程的优先级用1-10 表示,1的优先级最低,10的优先级最高,默认值是5 packa ...

  4. PEP8编程规范

    1.PEP8编程规范 [少加空格多写注释,严格对齐] 1.缩进 缩进table = 4个空格:设置好后使用编辑器的自然table 2.if条件书写规范 if的条件多的时候用左边括号对齐:if条件完毕后 ...

  5. Java 枚举 enum 详解

    本文部分摘自 On Java 8 枚举类型 Java5 中添加了一个 enum 关键字,通过 enum 关键字,我们可以将一组拥有具名的值的有限集合创建为一种新的类型,这些具名的值可以作为常规的程序组 ...

  6. robot 如何定义用户关键字、变量

    1.用户关键字,使用robot语法定义的关键字 2.系统关键字  自带的 3.资源文件,自己定义的关键字 4.变量 自己定义的关键字,需单独建一个资源文件 自己写的关键字,需写在***Keywords ...

  7. PHP 统计目录下文件数和文件大小

    1 /** 2 * 统计文件数和文件大小 3 */ 4 private function getFileCacheCount($pathName) 5 { 6 $data = [ 7 'num' =& ...

  8. Linux没有netstat和ifconfig命令问题

    安装了精简版命令行centos7系统,运行netsta查看端口和ifconfig查看IP命令都提示找不到命令. 解决方法: yum search ifconfig 通过yum search 这个命令我 ...

  9. 01-01.单一职责原则(Single Responsibility)

    1.基本介绍 对于类来说的,就是一个类,应该只负责一项职责(一个类只管一件事). 如类A负责两个不同职责:职责1,职责2. 当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解 ...

  10. C语言讲义——数组

    数组是: 一组数据 一组类型相同的数据 在计算机底层,数组是一块连续的内存 为什么使用数组? 一年12个月 int m1=1, m2=2, m3=3, ... 麻烦 数组示例: #include &l ...