linux 系统文件的特殊权限
文件权限与归属
Linux系统中的一切都是文件,但每个文件的类型不尽相同,并且Linux系统会用不同的符号来加以区分,常见的包括有
-:普通文件,d:目录文件,l:链接文件,b:块设备文件,c:字符设备文件,p:管道文件
读(read),写(write),执行(execute)简写即为(r,w,x),亦可用数字(4,2,1)表示。
SUID权限:让执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)
SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限。使用”ls -l” 或者”ll” 命令浏览文件时,如果可执行文件所有者权限的第三位是一个小写的”s”,就表明该执行文件拥有SUID属性。比如/usr/bin/passwd文件。
[root@rhel7 /]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jan 29 2014 /usr/bin/passwd
SGID功能一:让执行者临时拥有属组的权限(对拥有执行权限的二进制程序设置)
这种特殊权限就是参考SUID而设计的,不同点就是让程序的执行者获取的不再是文件所有者的临时权限,而是获取到文件的所有组的权限。举例来说,在早期的Linux系统中/dev/kmem是一个字符设备文件,用于存储内核程序要访问的数据,权限为:
cr--r----- 1 root system 2, 1 Feb 11 2017 kmem
读者们看出问题了吗?除了root超级用户身份或属于system组成员外的所有用户都没有读取该文件的权限,但平时咱们需要查看系统进程状态,为了让用户能够获取到系统状态信息,因此将用于查看系统进程状态的ps命令权限上增加了SGID特殊权限位:
-r-xr-sr-x 1 bin system 59346 Feb 11 2017 ps
这样的话因为ps命令被赋予了SGID特殊权限位,所以当用户执行了该命令,实际上临时获取到了有效用户组system的权限啦,能够顺利的读取设备文件啦~
(如果在浏览文件时,发现拥有组权限的第三位是一个大写的“S”则表明该文件的SGID属性无效,比如将SGID属性给一个没有执行权限的文件。)
SGID功能二:在该目录中创建的文件自动继承此目录的用户组(只可以对目录设置)
SGID属性应用在目录上时,该目录中所建立的文件或子目录的拥有组都会是该目录的拥有组。当SGID属性应用在可执行文件上时,其他用户在使用执行文件时就会临时拥有该执行文件的拥有组权限。在使用”ls -l” 或者”ll” 命令浏览目录时,如果拥有组权限的第三位是一个小写的”s”,就表明该执行文件或者目录拥有SGID属性。
[root@localhost ~]# cd /tmp/ |
Sticky Bit权限:
SBIT(Sticky Bit):只可管理自己的数据而不能删除他人文件(仅对目录有效)
Sticky属性只能应用在目录,当目录拥有Sticky属性,所有在该目录中的文件或子目录无论是什么权限,只有文件或者子目录所有者和root用户能做删除动作。保护用户自己的数据不被其它用户删除。在使用”ls -l”或者”ll”命令浏览目录时,如果其他用户权限的第三位是一个小写的”t”,就表明该执行文件或者目录拥有Sticky属性。
注意:linux系统规定,如果原本该位上有x,则这些属性显示为小写字母(有效),否则显示大写字母(无效)
在RHEL7系统中的/tmp作为一个共享文件的目录默认已经被设置了SBIT特殊权限位,因此这里面的文件其他人是不能乱删除的:
drwxrwxrwt. 25 root root 4096 Jul 20 22:53 tmp
==========================
配置SUID、SGID、Sticky属性
可以使用字符配置(s 表示SUID和SGID,t表示Sticky)
如:
chmod u+s test_file #给文件增加SUID属性
chmod g+s test_dir #给目录增加SGID属性
chmod o+t test_dir #给目录增加Sticky属性
还可以用数字的方式配置(4表示SUID,2表示SGID,1表示Sticky)
如:
chmod 4555 test_file #给文件增加SUID属性
chmod 2555 test_file #给文件增加SGID属性
chmod 1555 test_dir #给目录增加Sticky属性
文件的隐藏属性
即在默认情况下是不能直接被用户发觉的。在真实的工作环境和红帽RHCE考试题目中碰到过明明权限很充足但却不能删除某个文件的情况,或者仅仅能对日志文件进行追加内容而不能删除或减少,一定程度上阻止了黑客篡改系统日志的图谋,因此这种很“奇怪”的文件让Linux系统更加的安全。
chattr命令用于设置文件的隐藏权限,格式为:“chattr [参数] 文件”。
可以使用chattr命令来设置文件的隐藏权限,如果想要把某个隐藏功能添加到文件上面,则使用+参数,如果想要把某个隐藏功能移出文件,则使用-参数。可供咱们选择的隐藏权限功能非常丰富,常见的隐藏权限包括有:
参数 作用
i 将无法对文件进行修改,若对目录设置后则仅能修改子文件而不能新建或删除。
a 仅允许补充(追加)内容.无法覆盖/删除(Append Only)。
S 文件内容变更后立即同步到硬盘(sync)。
s 彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)。
A 不再修改这个文件的最后访问时间(atime)。
b 不再修改文件或目录的存取时间。
D 检查压缩文件中的错误。
d 当使用dump命令备份时忽略本文件/目录。
c 默认将文件或目录进行压缩。
u 当删除此文件后依然保留其在硬盘中的数据,方便日后恢复。
t 让文件系统支持尾部合并(tail-merging)。
X 可以直接访问压缩文件的内容。
[rusky@localhost ~]$ echo "test" > lxjtest |
linux 系统文件的特殊权限的更多相关文章
- Linux系统文件与目录权限管理
Linux文件目录权限管理 一.Linux文件属性及权限 1.Linux文件及目录权限及属性说明 (1)权限及属性说明 (2)文件权限说明 三种权限说明:r 读 read w 写 write x ...
- Linux系统文件权限管理(6)
Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限,每当我们使用用户名登录操作系统时,linux ...
- Linux系统文件权限体系详解
准备工作:先简单了解Linux文件权限 在Linux系统中,ls -l 命令可以查看文件的权限,如 [zhaohuizhen@localhost Test]$ ls -l a -rw-rw-r--. ...
- linux文件和目录权限
linux系统文件和目录的权限说明 文件权限是Linux系统的第一道安全防线,基本的权限有读取(r).写入(w)和执行(x): 文件访问模式 读取:用户能够读取文件信息,查看文件内容. 写入:用户可以 ...
- 【Linux】Linux系统中的权限详解
我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险.所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要. 一.文件基本权限 首先看下linux ...
- 误删除 linux 系统文件了?这个方法教你解决
转载于互联网并适当的修改 误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题.方法总比问题多~ 说在前面的话 针对日常维护操作,难免会出现文件误 ...
- linux系统文件
关于linux系统文件命令 (1)Linux的文件系统目录配置要遵循FHS规范,规范定义的两级目录规范如下: /home 每个账号在该目录下都有一个文件夹,进行数据的管理 ...
- Linux(三)__文件权限、系统的查找、文本编辑器
一.文件权限 1.理解文件权限及其分配 2.掌握查看文件和目录的权限 3.掌握权限文字表示法和数值表示法 4.学会使用chmod命令设置权限 5.学会使用chown命令修改属主和组 linux文件能不 ...
- Linux文件和目录权限详细讲解
转载请标明出处: http://www.cnblogs.com/why168888/p/5965180.html 本文出自:[Edwin博客园] Linux文件和目录权限解读 如何设置Linxu文件和 ...
随机推荐
- POP数值动画
POP数值动画 效果 源码 https://github.com/YouXianMing/Animations // // PopNumberController.m // Animations // ...
- java 数据流的处理
字节流类 功能简单介绍 DataInputStream 包含了读取Java标准数据类型的输入流 DataOutputStream 包含了写Java标准数据类型的输出流 ByteArrayInputSt ...
- MAC之find与grep
小白,新手.有错请指出. grep一般是搜指定文件中的内容:而find是搜对应的文件 find:1. 找出当前文件目录及其子目录含有开头a的文件. “.”是当前目录 “-ls”显示详细信息fin ...
- Nodejs开发人脸识别系统-教你实现高大上的人工智能
Nodejs开发人脸识别系统-教你实现高大上的人工智能 一.缘起缘生 前段时间有个H5很火,上传个头像就可以显示自己穿军装的样子,无意中看到了一篇帖子叫 全民刷军装背后的AI技术及简单实现 ,里面 ...
- Coursera课程《Python数据结构》中课件
You can access the Google Drive containing all of the current and in-progress lecture slides for thi ...
- 关于asp.net页面缓存
1,ASPX页面缓存 页面缓存的使用方法非常的简单,只需要在aspx页的顶部加一句声明<%@ OutputCache Duration="60" VaryByParam=&q ...
- Search a 2D Matrix leetcode java
题目: Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the f ...
- Sql Server的弱口令入侵测试以及防范
我之所以要做这样的测试是因为这一切都是有背景的!!!被黑客黑的代价!!!伤心ing..... 背景: 测试: 物理机:Win7 虚拟机:xp 扫描工具(我想我最好不写扫描器的名字比较好): 密码之所以 ...
- ajax局部刷新一个div下的jsp
用AJAX刷新一个DIV中的jsp内容 <script type="text/javascript"> var xmlhttp; function startrefre ...
- js获取checkbox中所有选中值及input后面所跟的文本
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...