十一、linux文件系统权限详解
对于文件系统权限,我们前面已经讲解了一部分,这里就不在重复了。
1.修改文件权限有两种,一种是数字、一种是字母 (chmod 的修改只能是属主或者root)
数字:

修改目录权限和目录内所有文件的权限

字母:

2.修改文件属性的关系(其中修改组chgrp=chown .组)

这里有两点要注意:
1)如果一个文件是可执行文件,并且属主或者root对于这个文件只有可执行权限,那么可以通过sh命令进行执行
2) 对于往文件里面写内容,root和属主都可以在没有可写权限的情况下写入的,只要强制保存就可以了。
3.对于删除一个文件,是要看它的上一级目录的权限的,删除的是文件名,而文件名是在上一级目录中,这和找一个文件是一个道理,都是从/开始的,而文件名在上一级目录中,所以删除一个文件本身和文件的权限没有关系和上一级目录的权限有关系,且必须是写的权限。(w写的权限,可以删除文件,可以创造文件)

4、创建文件和文件夹的权限,默认是644和755,是通过umask控制的,在生产中这种权限是相对安全的,所以尽量不要修改。所以这里知道下就可以了。
如图:创建newdir和newfile,则为644和755


在/etc/profile中,定义了

如果修改了,记得要更新/etc/profile。可以在此文件夹中修改,也可以通过umask修改。那么有什么规律呢?
针对目录:我们认为最大权限是777,根据umask值相减,就是默认创建目录的权限,如图:777-022=755 权限
针对文件:我们认为最大权限是666,根据umask值相减,就是牧人创建文件的权限,如图:666-022=644权限,但是,如果umask有一个为奇数的话,那么计算后的值应该在该奇数位上+1.
另外/etc/login.defs文件管理者家目录的文件权限,保持每个用户的家目录独立性,不让相互串门

5.linux的特殊权限:
除过9位基础权限外,还有3个特殊的权限。
setuid:
1)在属主对应的权限位上的x位有s就表示setuid权限,即suid。如果在这个x位置上没有s的就是S
2)setuid位是让普通用户可以以root(或者其他)用户的角色运行只有root(或其他)账号才能运行程序或命令。
所以以上都是对命令添加的,都是在二进制文件上添加的,且二级制文件具有x权限,并且此命令在执行过程中生效。
如下,删除一个文件:
文件的上级目录权限:

文件的权限:

修改命令:

所以如果用另外一个用户删除的话,有3个解决方法:
比如test用户删除djw.sh文件:
1)sudo,授权用户test具有删除命令的权限
2)修改文件上级目录的权限,这样其他人就可以删除文件了
3)修改命令的权限,如上/bin/rm权限就是S了,这样当test执行命令的时候,不论是哪个文件,其删除的话,都具有该命令属主的权限,如上就是具有root的权限,才能删除的。

6.如何查看linux的suid的命令:

这是一个双刃剑的命令,比较危险的命令(对于linux的优化,可以优化这个命令)
、 sgid:与suid不同的是,sgid既可以针对文件也可以针对目录设置。(了解中的了解)
1)文件: sgid仅对二进制命令程序有效,且要有x权限,执行的用户可以获得该命令执行期间所属组的权限
这里要注意的是修改的话是2开头,如2755权限
2)目录:可以创建一个目录,设置sgid,那么用户再此目录下创建的文件和目录具有和此目录相同的用户组设置(目录所属组是什么,里面创建的文件就是什么)
粘贴位:如果一个目录设置成粘贴位,这个目录本身和目录内容都只有这个目录的属主或者root才能删除。/tmp 目录是经典的粘贴位目录
用途:比如/tmp都往里面写东西,但是各自管理各自,不能删除别人的
特殊权限对应的数字:
suid 4000s S
sgid 2000s S
粘贴位:sbit 1000t T
7.现在讲的chattr lsattr block inode都是基于ext3,ext4的,对于reiserfs文件系统时没有任何效果的。
这里在说一个chattr +a 表示可以往文件中添加内容,但是不能删除或者修改文件。
8.知道有一个命令就行了 setfacl和getfacl 设置某一个用户对文件/目录的操作权限
十一、linux文件系统权限详解的更多相关文章
- Linux之权限详解
如何知道你有什么权限 我能干什么?这是我最关心的问题! 切换到普通用户 [root@luffy-01 ~]# su - pizza [pizza@luffy-01 ~]$ ls /root ls: c ...
- linux学习之路第八天(linux文件权限详解)
建议和我上一篇博客一起通读,效果更加 1.权限的基本介绍 通过一张图片解决疑惑(重点) rwx权限详解 rwx作用到文件 1)[r]代表可读(read) :可以读取,查看 2)[w]代表可写(writ ...
- linux文件系统节点详解
linux文件系统有两层结构,逻辑结构和物理结构.也就是inode和block. 每个文件都有一个inode, 记录文件属性:权限,时间还有最重要的block号码. block是实际存放文件内容的地方 ...
- linux文件目录权限详解(20170101)
linux目录权限与文件权限是不同的,二者要相互配合,这是基础. 比如要读文件:目录至少要有x,文件至少要有r. 要写文件:目录至少要有x,文件至少要有rw. 要执行文件:目录至少要有x,文件至少要有 ...
- LINUX 文件权限详解
ls -l // 查看文件的权限 等价于 ll 文件的权限信息查看 -rw-rw-r-- 1 ceshi ceshi 891 Aug 8 17:28 server drwxrwxr-x 10 cesh ...
- LInux ugo权限详解[修]
Linux 中的用户和组是用来控制使用者或者进程可以或者不可以使用哪些资源和硬件,是Linux权限控制最基本的方式. 用户和组可以看一下上一章的部分,先来看一下权限. 一.权限概览 在Linux下,使 ...
- [转]Linux文件权限详解
转自:http://blog.chinaunix.net/uid-25052030-id-174343.html 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问 ...
- linux文件权限详解
一.文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一 ...
- LInux ugo权限详解
Linux 中的用户和组是用来控制使用者或者进程可以或者不可以使用哪些资源和硬件,是Linux权限控制最基本的方式. 用户和组可以看一下上一章的部分,先来看一下权限. 一.权限概览 在Linux下,使 ...
随机推荐
- VB.Net与C# 的语法比较
最近看代码或写代码时,经常把VB与C#的基本语法搞混,为方便查看,特对其异同进行对比: 變數初始化 VB.NET 自動將所有的變數初始化成 0 或 nothing.C# 在你未初始化變數之前不准你用該 ...
- java JDBC数据库连接操作
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public clas ...
- list.contains
list.contains(o),系统会对list中的每个元素e调用o.equals(e),方法,加入list中有n个元素,那么会调用n次o.equals(e),只要有一次o.equals(e)返回了 ...
- 并发之CAS无锁技术
CAS算法即是:Compare And Swap,比较并且替换: CAS算法存在着三个参数,内存值V,旧的预期值A,以及要更新的值B.当且仅当内存值V和预期值B相等的时候,才会将内存值 ...
- liunx 命令大全
一.切换到用户 1.切换到根用户(root) su 2.切换到a用户 su a 二.建立用户,以及mysql的目录1.groupadd mysql #建立一个mysql的组2.useradd -r - ...
- jQuery的节点操作
1.创建节点 var aa = $("<div id='cccc'>插入的内容</div>") var bb = $("<a href='h ...
- php模拟http请求
在http简析中,我们提到了浏览器请求资源的一个流程,那么这个流程能不能用php来模拟呢?答案是肯定的. php模拟http请求需要实现以下步骤: 1.连接apache服务器 使用fsockopen: ...
- FasterRCNN目标检测实践纪实
首先声明参考博客:https://blog.csdn.net/beyond_xnsx/article/details/79771690?tdsourcetag=s_pcqq_aiomsg 实践过程主线 ...
- [Selenium]Click element under a hidden element
Description: Find out the DDL in Treegrid, but cannot click on it.Because the element is under a hid ...
- 使用c语言实现在linux下的openssl客户端和服务器端编程
使用c语言实现在linux下的openssl客户端和服务器端编程 摘自:https://www.cnblogs.com/etangyushan/p/3679457.html 前几天组长让我实现一个使用 ...