十一、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下,使 ...
随机推荐
- Node爬虫之——使用async.mapLimit控制请求并发
一般我们在写爬虫的时候,很多网站会因为你并发请求数太多当做是在恶意请求,封掉你的IP,为了防止这种情况的发生,我们一般会在代码里控制并发请求数,Node里面一般借助async模块来实现. 1. asy ...
- TCP/IP知识总结(TCP/IP协议族读书笔记一)
一.简述TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/互联网互联协议,又名网络通信协议.是Internet最基 ...
- MVC-READ2
框架设计模式 契约式设计.元编程.元数据驱动设计.管道模型.远程代理模式.提供程序模型:
- layer插件open方法回掉值问题
最近做项目需用到一个弹出层加载iframe页面的东西,首先想到layer插件,此插件用到过多次,兼容性很好,功能也强大,废话不多说上代码. 其实功能很简单,就是在目标页面选择一个值,回掉回来,说明一下 ...
- Python3 min() 函数
Python3 min() 函数 Python3 数字 描述 min() 方法返回给定参数的最小值,参数可以为序列. 语法 以下是 min() 方法的语法: min( x, y, z, .... ) ...
- java文档打包成压缩包并且下载
需求,根据产品ID查询产品详情,产品详情会返回产品的一些文案,以及图片的url.需要做成,将文案信息记录在一个txt文档中,然后图片下载到文件夹,最后下载到本地,下载后自动删除刚才生成的文件夹以及文件 ...
- 解题报告-683. K Empty Slots
There is a garden with N slots. In each slot, there is a flower. The N flowers will bloom one by one ...
- Linux CentOS6 mysql rpm安装
mysql rpm文件下载地址:https://dev.mysql.com/downloads/mysql/ 选择操作系统及版本: 点击5.6版本链接 将下载好的文件上传至服务器 下面开始安装: 检查 ...
- 一些使用的linux库
1.curl网络库 apt-get install libcurl4-openssl-dev sudo apt-get install curl 2.jsoncpp库 sudo apt-get ins ...
- 【转】简说GNU, GCC and MinGW (Lu Hongling)
原地址:https://my.oschina.net/u/588967/blog/73478 GNU, GCC, MinGW是开源社区常常要遇到的概念. 网上一般的解释比较繁琐, 让人如坠云雾. 本文 ...