读写执行权限对文件和目录的影响

权限的作用

对于linux运维工作来说,熟练掌握文件管理技能是非常重要的,所谓“一切皆文件”,控制住文件的权限,可以说也就控制住了linux系统。而且,运维的工作要和成千上万的文件打交道,对于文件属性的熟识程度对于工作的顺利开展有着深远的影响。综上,了解文件,熟悉文件,掌握文件,是我们运维的一个重要的课程。

不同权限对文件和目录的影响

首先,我们现对权限进行一个简单的了解,请看:

读写执行权限对文件和目录的影响

左边的rwx就代表着文件的权限,r代表着读权限,w代表着写权限,x代表着执行权限。那么对于文件和目录来说,这些权限分别代表着什么呢?

对于文件来说:

  1. r读权限代表着能否看到其文件类型和文件内容。
  2. w写权限代表着能否编辑其中的内容(修改、添加、复制、移动、删除等操作)。
  3. x执行权限代表该文件是否能够执行。(前提该文件为二进制可执行文件,而且该权限对root也有约束能力)。

对于目录来说:

  1. r读权限代表能否查看模模内文件列表(如果知道文件名,而且对该文件有读权限,可以利用命令查看其内容,俗称“翻墙”)。
  2. w写权限代表能够在目录内新建、删除文件(前提具有执行权限)。
  3. x执行权限代表能够进入到目录中、能够查看文件列表和原数据。

总结:

  1. 就算是文件的所有者,没有权限仍然不可以进行操作,但可以为自己增加权限。
  2. 如果所有人都没有执行权限,root也不会有;但任何一个人(ugo)具有执行权限,root就会具有该项权限。但读写权限没有这个特性。
  3. 对于目录来说,执行权限是其最基本的权限,所以创建新目录时,一般默认具有执行和读权限。
  4. 对于目录内文件的删除,时根据是否具有该目录的写权限决定的。这事因为目录也是一个特殊的文件,而目录内的文件列表就是目录这个文件的内容,因此想对目录这个文件的内容增删需要具有该目录的写权限。

UMASK值

所谓umask值一般是指用户在初始创建一个目录或者文件的时影响其默认权限的一种值。

umask值=文件目录默认权限值+原权限值(目录777,文件666)

由上面的公式可以看出,umask值的设置可以方便我们在创建新文件和目录时获取所需的权限。

如何计算unmsk值:

如果枯燥的进行理论描述,我们可能很难理解这些概念,下面我们用小例子来解释一下

用二进制方式计算

文件元权限: 110 110 110 umask值:000 101 111 那么文件的默认权限就是110 010 000

用十进制方式计算

对于目录默认权限:直接用元权限减去umask值
对于文件默认权限:元权限减去umask值,得到偶数保留,得到奇数+1。

如何设置umask值:

对于umask值的设置我们按照影响的失效不同,分为两种

临时生效:

umask=xxx (十进制数)

永久生效

对当前生效:

读写执行权限对文件和目录的影响

对全局生效:

读写执行权限对文件和目录的影响

PS:linux小白,敬请指导

原创文章,作者:OscaoChaser,如若转载,请注明出处:http://www.178linux.com/83440

(1)
OscaoChaserOscaoChaser
上一篇 2017-07-30
下一篇 2017-07-30

相关推荐

  • Redis高可用架构(1)—Keepalive+VIP

    最近整理一下Redis高可用架构的文档,也准备分享出来,虽然这些架构也不是很复杂。Redis的高可用方案目前主要尝试过5种方式,其中2种方式已经在线上使用。 1)Redis Master-Slave + Keepalive + VIP。这是很经典的db架构,也可以用与mysql的主从切换。基本原理是:Keepalive通过脚本检测master的存活,然后通过…

    Linux干货 2016-04-13
  • 设计模式(六)桥连模式Bridge(结构型)

    1. 概述       在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度? 例子1:设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的…

    Linux干货 2015-06-26
  • 第十五周作业

    温故知新 1、总结sed和awk的详细用法 sed [OPTION]… ‘script’ [input-file] …script:地址定界编辑命令 常用选项:-n:不输出模式空间中的内容至屏幕;-e script, –expression=script:多点编辑;-f /PATH/TO/SED_S…

    Linux干货 2017-12-04
  • shell脚本基础

    程序是由指令加数据组成 编程风格分为过程式和对象时 过程式:以指令为中心,数据服务于指令,适合小型程序 对象式:以数据为中心,指令服务于数据,社和大型程序 高级语言的执行方式分为编译型和解释型 编译型:先将高级语言通过编译器编译成二进制代码再执行 解释型:程序编写完成后不转换成二进制代码,在使用时才通过解释器解释运行,不生成二进制程序 shell就是一种解释…

    Linux干货 2016-08-18
  • 字符串切片和yum的用法和rpm的编译安装

    1、冒泡法对数组内数据排序 2、源码安装http2.2.29     1.配置/etc/yum.repos.d/base.repo              2.安装group组:Development too…

    Linux干货 2016-08-30
  • Nginx专题: 从编译安装到URL重写

    Nginx专题: 从编译安装到URL重写 前言 环境介绍 Nginx介绍 编译安装Nginx 配置文件解释 main和event{}的配置 http{}的基本配置 配置Nginx 搭建一个基本的Nginx Web服务器 实现https 创建CA并签署Nginx证书 修改配置文件 测试https 实现URL Rewrite将不同浏览器的请求响应不同页面 URL…

    Linux干货 2016-04-04