粘滞位的了解及使用

一、权限

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. StringUtil字符串工具-功能扩展

    对java的String类的一些小补充. public class StringUtil { /** 将一个字符串的首字母大写然后返回. @param str 要处理的目标字符串. @return S ...

  2. binary hacks读数笔记(共享库)

    共享库从文件结构上来讲,与共享对象没什么区别.Linux下,共享库就是普通的ELF共享对象. 1.共享库命名: libname.so.x.y.z :其中最前面使用前缀lib,中间是库的名字和后缀&qu ...

  3. Android10_原理机制系列_AMS之AMS的启动

    概述 该篇基于AndroidQ,主要介绍系统启动中的 AMS(ActivityManagerService)的启动过程. AMS对四大组件(AndroidQ将activity移到了ActivityTa ...

  4. php 抛出异常

    <?php //try里面执行的东西如果不成立,可直接 throw new Exception('异常信息'),那么try里面的程序将会被停止执行,直接执行catch里面的程序 try { if ...

  5. 牛客练习赛60E 旗鼓相当的对手

    dsu on tree 题目链接 点我跳转 题目大意 给你一棵以\(1\)为根节点,包含\(n\)个节点的树和一个参数 \(k\),求每个节点的"\(rating\)" \(rat ...

  6. 轻松学编曲,论FL Studio的钢琴卷帘功能

    在编曲软件FL Studio中有一个会被经常用到的功能,叫钢琴卷帘,可以用来扒谱.编曲.制作音乐等,并且操作简单,即使不懂乐理也能一样使用.今天,就来带大家认识一下钢琴卷帘. 还没有安装FL Stud ...

  7. Ubuntu无法telnet

    1.Ubuntu无法telnet的原因 (1)/etc/hosts被修改过 (2)防火墙没有关闭 (3)没有安装相关服务 (4)/etc/inetd.conf文件没有telnet相关内容 2.解决办法 ...

  8. Shell编程规范:Don't use ls | grep

    目录 一.背景 二.ShellCheck的规范 三.修改写法 1.ls | grep file 2.ls | grep regexp 3.ls | grep -v multi 四.最后 五.参考 一. ...

  9. AFNetWorking 丢失数据

    问题描述: 使用AFNetWorking请求数据,请求成功,但是拿不到所需要的数据,但是使用其他平台都可以拿到数据. 原因分析: AFNetWorking无法解析. 解决方式: AFJSONRespo ...

  10. python字节自适应转化单位KB、MB、GB

    文件存储或者传输的过程中,经常需要展示传输文件的大小,或者传输量的大小,为了方便给人展示和阅读,编写一个简单的单位转换器. 1 def hum_convert(value): 2 units = [& ...