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

权限的作用

对于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

相关推荐

  • N22-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fd…

    Linux干货 2016-10-07
  • vsftpd

    vsftpd:     程序环境:         配置文件:/etc/vsftpd/vsftpd.conf         主程序:/usr/sbin/vsf…

    Linux干货 2016-12-05
  • Linux磁盘管理(一)之分区、格式化、挂载使用

    磁盘管理(一)   本章节内容: 磁盘结构 分区类型   管理分区   管理文件系统   挂载设备   一、磁盘结构: 1、设备号码:  主设备号:major number, 标识设备类型 次设备号:minor number, 标识同一类型下的不同设备  &n…

    Linux干货 2016-08-26
  • linux进程管理

    进程概念 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等 Process:  运行中的程序的一个 副本,是被 载入内存的一个指令集合     进程ID (Process ID,PID)号码被用来标记各个进程  &…

    Linux干货 2016-09-12
  • Homework Week-10 CentOS启动相关及bash脚本编程

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;   (1) 为硬盘新建两个主分区;并为其安装grub;   (2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个分区提供rootfs;   (3) 为rootfs提供…

    Linux干货 2016-10-24
  • MariaDB

    Mariadb 结构化数据–>关系型数据库 范式:Entry(每一行来描述一个整体) 半结构化数据–>YAML,XML,JSON 非结构化数据–>日志文件 NoSQL 关系型数据库:事务能力 ACID测试(原子性,一致性,隔离性,持久性) MariaDB or MySQL: 层次模型–>…

    Linux干货 2016-11-15