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

权限的作用

对于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 21:53
下一篇 2017-07-30 22:19

相关推荐

  • 第一周的学习总结

       本人是Linux 小白,0基础。加入马帮开始Linux之旅。由于完全不懂Linux,所以在学习的过程中,每课都要看上2遍。接下来说说我第一周所学的内容。 首先是了解到了计算机基础知识,计算机的组成部分、CPU架构类型、其他外围设备。 操作系统基础知识进程管理、内存管理、网络管理、驱动管理、安全管理等。 Linux的起源、发行版以及构…

    Linux干货 2016-02-28
  • 关于 shell脚本编程第一篇

                                                   shell脚本编程(1) …

    系统运维 2016-08-15
  • 马哥教育网络班21期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器 集线器:集线器的英文称为“Hub”.集线器(hub)属于纯硬件网络底层设备,基本上不具有类似于交换机的"…

    Linux干货 2016-08-29
  • Shell脚本编程(上)

        Shell脚本编程基础 Shell 脚本基础:包含一些命令或声明并符合一定格式的文本文件Shell 脚本用途:        1. 自动化常用命令        2. 执行系统管理和故障排除        3. …

    2017-04-16
  • rsync+inotify实现实时同步案例

    随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的。而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式。其次,rsync不能实时的去监测、同步数据,…

    Linux干货 2016-10-30
  • 沉舟侧畔千帆进,枯木头前万树春

    N21第五周博客作业 1、  显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]#  grep -E "^[[:space:]]+" //boot/grub/grub.conf root (hd0,0) kernel /vmlin…

    Linux干货 2016-07-29