自学linux——22.粘滞位的了解及使用
粘滞位的了解及使用
一、权限
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权限,其他用户还是不能进行删除和重命名操作)

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

结论:
当一个目录被设置为"粘滞位"的t权限后,则该目录下的文件只能由
1. 超级管理员(root)删除或移动/更名(rm或mv)
2. 该目录或文件的所有者删除或移动/更名(rm或mv)
注意:
1. 虽然目录有了粘滞位t权限,other用户不能对该目录的文件进行删除或者移动操作,但如若other对该文件由w权限,还是可以进行修改文件内容
2. 粘滞位只对目录有效,对文件无效
自学linux——22.粘滞位的了解及使用的更多相关文章
- linux—粘滞位的设置
粘滞位(Stickybit),或粘着位,是Unix文件系统权限的一个旗标.最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件.如果不为目录设置粘滞位,任 ...
- Linux粘滞位的设置
粘滞位(Stickybit),或粘着位,是Unix文件系统权限的一个旗标.最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件.如果不为目录设置粘滞位,任 ...
- Linux中的特殊权限粘滞位(sticky bit)详解
Linux下的文件权限 在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问.最为我们熟知的一个文件或目录可能拥有三种权限,分别是读.写.和执行操作, ...
- 【转】Linux中的特殊权限粘滞位(sticky bit)详解
Linux下的文件权限 在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问.最为我们熟知的一个文件或目录可能拥有三种权限,分别是读.写.和执行操作, ...
- Linux文件和目录的粘滞位(sticky bit)
今天维护系统时发现一个非常诡异的问题:AAA用户和BBB用户同属AAA组,但用AAA用户创建的文件,权限设置为777后,还是不能用BBB用户删除.诡异! 几经周转,发现AAA用户创建文件位置的上层目录 ...
- 深入理解linux的权限设置和SUID,SGID以及粘滞位
我们知道文件的权限可以用三个八进制数字表示.其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了.那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限.这个八进制数 ...
- Linux中相关知识(atexit(),fork(),粘滞位)
1.atexit()函数 函数名: atexit 头文件:#include<stdlib.h> 功 能: 注册终止函数(即main执行结束后调用的函数) 用 法: int atexit(v ...
- suid, sgid,粘滞位,chattr
一. 基本含义和作用 1. SUID:当设置了SUID 位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权. 2. SGID:与上面的内容类似.用于设置 ...
- SUID、SGID、粘滞位
粘滞位(Stikybit) +t,只有用户自己可以删除自己创建文件,其他用户只能查看,不能删除. 1:创建两个用户 useradd oo ...
随机推荐
- python_计算器
import re from functools import reduce # 定义一个只计算两个数的乘法或除法的函数: def multiply_division(exp): if "* ...
- 了解TypeScript
TypeScript :是 JavaScript 的一个超集,支持 ECMAScript 6 标准 1.TypeScript 和 JavaScript的区别?TypeScript 是 JavaScri ...
- 45. 跳跃游戏 II
给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4]输出 ...
- binary hacks读数笔记(file命令与magic file)
file命令的作用是用于检验文件的类型,并打印至终端.file命令检验文件类型按以下顺序来完成: 检验文件系统(Filesystem)中支持的文件类型. 检验magic file规则. 检验文件内容的 ...
- HotSpot源码分析之类模型
HotSpot采用了OOP-Klass模型描述Java的类和对象.Klass模型采用Klass类及相关子类的对象来描述具体的Java类.一般HotSpot JVM 在加载Java的Class 文件时, ...
- Function(函数分享)第二节
一.类型注解 1.1 类型注解 函数的类型注解分为两个部分:参数类型注解和返回值类型注解.其中返回值类型注解有时候我们可以直接省略,因为Typescript可以根据返回的语句来自动判断出返回值的类型. ...
- win10,ubuntu时间不对问题
sudo apt-get install ntpdate sudo ntpdate time.windows.com # ntp2.aliyun.com 然后将时间更新到硬件上: sud ...
- python-网络安全编程第十天(web目录扫描&&fake_useragent模块&&optionParser模块)
前言 昨天的内容没有完成今天花了点时间继续完成了 感觉自己的学习效率太低了!想办法提高学习效率吧 嗯 ,再制定下今天的目标 开始健身. python fake_useragent模块 1.UserAg ...
- xml格式数据和数组数据互相转换
数组转换成xml数据 <?php $arr=array( 'username'=>'huahua', 'password'=>'123456', 'number'=>'1588 ...
- Lumen中启用session
原文链接:http://www.jianshu.com/p/dc33f8ab0618 Lumen5.2 的Release Notes中官方明确的指出Lumen专注于构建无状态API,JSON API ...