umask值与Linux中文件和目录权限的关系

umask值与文件和目录的权限

1.1 -R参数设置目录权限(chmod)

1.2 权限字母说明

1.3umask说明

1、umask的值决定着文件和目录的权限,创建文件默认最大权限为666(-rw-rw-rw-),默认创建的文件没有可执行权限x位。

2、对于文件来说,umask的设置是在假定文件拥有八进制666的权限上进行的,文件的权限就是666减去umask(umask的各个位数字也不能大于6,如,077就不符合条件)的掩码数值;重点在接下来的内容,如果umask的部分位或全部位为奇数,那么,在对应为奇数的文件权限位计算结果分别再加1就是最终文件权限值。

创建目录默认最大权限777(-rwx-rwx-rwx),默认创建的目录属主是有x权限,允许用户进入。

对于目录来说,umask的设置是在假定文件拥有八进制777权限上进行,目录八进制权限777减去umask的掩码数;

3、umask越小,文件和目录的权限越大,默认的umask值为022,即在主和组都是root时,文件和目录的权限为644(-rw-r--r--)和755(drwxr-xr-x);

4、先设置umask的值,如umask 222 然后再mkdir d222,touch f222,然后再ll=ls -l,这样umask值才会生效;

5、umask值的控制脚本

6、umask博文网址

http://oldboy.blog.51cto.com/2561410/1060032

1.4通过umask值读取文件和目录权限的三种方法

1.4.1加减法推算(简单好用,推荐)

文件权限的一般计算方法:
默认文件权限计算方法
1)假设umask值为:022(所有位为偶数)
6 66     ==>文件的起始权限值
0 2 2-    ==>umask的值
---------
6 4 4
2)假设umask值为:045(其他用户组位为奇数)
6 66     ==>文件的起始权限值
0 4 5-    ==>umask的值
---------
6 21   ==>计算出来的权限。由于umask的最后一位数字是5,所以,在其他用户组位再加1。
0 0 1 +
---------
622 ==>真实文件权限
默认目录权限计算方法
 7 77     ==>目录的起始权限值
 0 22 -    ==>umask的值
---------
 7 55

如图      

实例1-1:umask所有位全为偶数时

[[email protected] oldboy]# umask
0022 #→umask当前数值
[[email protected] oldboy]# umask 044 #→更改为044
[[email protected] oldboy]# umask
0044
[[email protected] oldboy]# mkdir umask_test #→建目录测试
[[email protected] oldboy]# ls -ld umask_test
drwx-wx-wx 2 root root 4096 Nov 12 19:21 umask_test#→对应数字权限为733,是不是符合上面的计算方法?
[[email protected] oldboy]# touch umask_test.txt
[[email protected] oldboy]# ls -l umask_test.txt
-rw--w--w- 1 root root 0 Nov 12 19:21umask_test.txt #→对应数字权限为622,是不是符合上面的计算方法

实例1-2umask值的部分或全部位为奇数时

[[email protected] oldboy]# umask 0023
[[email protected] oldboy]# mkdir dir
[[email protected] oldboy]# touch file
[[email protected] oldboy]# ls -l
总计 4
drwxr-xr-- 2 root root 4096 11-15 01:04 dir  #→对应数字权限为754
-rw-r--r-- 1 root root    0 11-15 01:04 file #→对应数字权限为644
提示:根据前面的计算方法,当umask为0023时,dir的权限应该是754,而file的权限应该为643,但是由于umask的其他组位为奇数,因此最终权限为其他组位加1,即643加001(对应实践结果644)。注意:umask为偶数的位不要加1

实例1-3umask值的所有位为奇数时

[[email protected] oldboy]# umask 0551
[[email protected] oldboy]# umask
0551
umask 为0551 根据掩码方法计算:目录权限为226,文件权限115,而实际文件权限为226(umask的三个权限位都是奇数,所以,每个位分别加1就是正确的权限)
[[email protected] oldboy]# mkdir dir5
[[email protected] oldboy]# touch file5
[[email protected] oldboy]# ls -l
总计 4
d-w--w-rw- 2 root root 4096 11-15 01:27 dir5  #→目录对应数字权限为226
--w--w-rw- 1 root root    0 11-15 01:27 file5 #→目录对应数字权限为226
再来一例验证下:
[[email protected] oldboy]# umask 0333
[[email protected] oldboy]# umask
0333
umask 为0333 根据掩码方法计算:目录权限为444,文件权限333,而实际文件权限为444(umask的三个位都是奇数,所以,每个位分别加1就是正确的权限)
[[email protected] oldboy]# mkdir dir3
[[email protected] oldboy]# touch file3
[[email protected] oldboy]# ls -l|grep 3
dr--r--r-- 2 root root 4096 11-15 01:30 dir3  #→目录对应数字权限为444
-r--r--r-- 1 root root    0 11-15 01:30 file3 #→目录对应数字权限为444

1.4.2 通过8进制字母符号计算

[[email protected]]# umask 551
umask值为551,对应的权限为-r-xr-x--x,即所有的文件和目录都取消权限中的-r-xr-x--x权限。
文件权限:【-rw-rw-rw-】-【-r-xr-x--x】=【--w--w--rw-】=226(文件的x位上没有x,就不用取消了)
目录权限:【-rwxrwxrwx】-【-r-xr-x--x】=【--w--w--rw-】=226(目录的x位上有x,直接取消即可)
继续拿前面的例子验证:
[[email protected]]# umask 333
umask值为333,对应的权限为-wx-wx-wx,即所有的文件和目录都取消权限中的-wx-wx-wx权限。
文件权限:【-rw-rw-rw-】-【-wx-wx-wx】=【-r--r--r--】=444(文件的x位上没有x,就不用取消了)
目录权限:【-rwxrwxrwx】-【-wx-wx-wx】=【-r--r--r--】=444(目录的x位上有x,直接取消即可)

1.4.3 通过二进制方法计算(二进制转换软件)

0022
0    2   2      
----------    #→八进制转换二进制
0    10   10
说明:把umask值八进制转换成二进制
 
6    6    6
------------  #→八进制转换二进制
110 110  110
说明:把文件默认最大权限值八进制转换成二进制
  0  10  10      #→umask二进制
-------------      #→与运算
110 110  110      #→文件最大权限二进制
-------------
000 010  010
-------------      #→转换八进制
  0  2   2
说明:最后得到的值是022,然后使用666减去022,那么文件的创建权限就是644
[[email protected]]# umask 551
[[email protected]]# umask
0551
5    5     1
-------------      #→转换二进制
101  101 001     #→umask二进制
-------------      #→与运算
110  110  110      #→文件最大权限二进制
-------------     
100  100  000
-------------      #→转换八进制
4    4    0
说明:最后得到的值是440,然后使用666减去440,那么文件的创建权限就是226。

1.5 企业各服务器之间的权限说明

时间: 2024-10-08 00:28:51

umask值与Linux中文件和目录权限的关系的相关文章

linux修改文件和目录权限chmod

1. 文件权限简介 linux文件权限有9个,三组表示,owner, group, others,每组又包含r,w, x三种状态. 2. 根据数字修改权限 r, w, x三种权限通过数字来代表: r: 4 w: 2 x: 1 每组的权限为上面三个相加. 比如权限为; [-rwxrwx---] owner: rwx = 4 + 2 + 1 = 7 group: rwx = 4 + 2 +1 = 7 others: --- = 0 + 0 + 0 = 0 对应的权限为 770 chmod 770 t

Linux的文件与目录权限解析

在Linux中,万事万物皆文件,普通文件是文件,目录是文件,硬件设备也是文件,因此学习了解Linux中的文件非常重要. Linux中有三种文件类型: (1) 普通文件:又分为文本文件和二进制文件 (2) 目录文件:目录文件存储了一组相关文件的位置.大小等与文件有关的信息. (3) 设备文件:I/O设备在Linux中也被看成文件,与普通文件一样处理,这样使文件与设备的操作尽可能统一. 一.Linux文件属性 Linux的文件有很多属性,要查看文件的属性可以用ls -l命令,为了后续的讲解中有操作的

Linux系统——文件和目录权限

文件及目录权限(七进制表示) r  读权限(4),允许查看文件内容 w 写权限(2),允许修改文件内容 x  可执行权限(1),允许运行程序 - 无权限(0) 属主:拥有该文件的用户账号 属组:拥有该文件的组账号 查看文件的权限和归属 - rw- r-- r--(为演示,将该权限用空格分为四位) 第一位:文件的类型 第二位:属主的权限 第三位:属组的权限 第四位:其他所有人权限 ================= 第一位: -  一般文件 d  目录 l   软链接 p  PIPE管道文件 s

Linux中文件和目录的权限关系

最近一直在学习linux,对文件和目录的权限有了新的认识,感觉想要理清楚还是需要花点心思的. 注意:1.以下的情况只针对文件或目录的所有者(u)来说:2.只针对ext4文件系统 在了解之前先说一下新建.删除.修改文件在系统底层是如何运行的.磁盘分两部分来存放文件的,其中一部分存放的是文件的属性(元数据)比如:文件大小.修改日期.权限等,另一部分才是数据内容.当新建一个文件时会对应创建它的元数据,还会给文件分配一个节点号(inode).当要查找这个文件时,是先找到对应的节点号,再通过节点表去数据存

linux中文件与目录的特殊权限

time:18.03.26 以以下2个典型的文件及目录来分析: ll /usr/bin/passwd -rwsr-xr-x. 1 root root 27832 Jan 29 2014 /usr/bin/passwd ll -d /tmp drwxrwxrwt. 23 root root 4096 Mar 25 23:53 /tmp SUID 当s出现在文件拥有者的x权限上时,如我们上面看到的/usr/bin/passwd这个文件的权限时-rwsr-xr-x,此时就被称为SET UID简称SUI

linux中文件和目录的默认,隐藏,特殊权限

一 umask 默认权限umask: root下是0022,一般用户下默认为0002.可用umask修改 用户建立文件默认为最大666用户建立目录默认为最大777 相减为奇数则加1:相减为偶数则不变二 隐藏属性 1.文件隐藏属性chattr(配置隐藏属性)-a:只能增加数据,不能删除也不能修改数据,只有root才能设置此属性-i: 只读 ,root设置 lsattr(显示隐藏属性)-a:将隐藏文件的属性也显示出来-d:仅列出目录本身的属性-R:连同子目录的数据一并列出三 文件特殊权限 1.SUI

Linux更改文件及目录权限问题

1. 快速实例学习 修改某个目录下的所有文件的权限,包括子目录中的文件,例子如下: # chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx # chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx 其中,参数-R表示启动递归处理 2. chmod命令解析: chmod 用3个数字来表达对 用户(文件或目录的所有者),用户组(同组用户),其他用户 的权限: 如

linux下文件以及目录权限修改(摘抄)

http://www.linuxidc.com/Linux/2014-10/108114.htm chagrp 改变所属组:chown 改变拥有者:chmod 改变权限: 1. 改变所属群组, chgrp [[email protected] ~]# chgrp [-R] dirname/filename ... 选项与参数: -R :进行递归(recursive)的持续变更,亦即连同次目录下的所有档案.目录都更新成为这个群组之意.常常用在变更某一目录内所有的档案之情况. 范例:[[email 

四. Linux文件与目录权限

文件与目录权限,umask, chgrp, chown, chmod 1. 文件与目录权限 (1) 查看/etc/passwd文件属性 [[email protected] ~]# ll -h --full-time /etc/passwd [[email protected] ~]#-rw-r--r--. 1 root root 2.3K 2016-11-09 21:07:03.303125300 +0800 /etc/passwd (2) 文件和目录权限的意义 文件权限 r(read) :