`

文件的默认权限

阅读更多

7.4.1  文件默认权限:umask

现在,我们知道如何建立或者是改变一个目录或文件的属性了,不过,你知道,当建立一个新的文件或目录时,它的默认属性是什么吗?那就与umask有关了。那么,umask是什么呢?基本上,umask就是指定“当前用户在建立文件或目录时候的属性默认值”。那么,如何得知或设置umask呢?它以下面的方式来指定条件:

[root@linux ~]# umask
0022
[root@linux ~]# umask -S
u=rwx,g=rx,o=rx

查看方式有两种,一种是直接输入umask,可以看到数字类型的权限设置分数,一种是加入 -S(Symbolic)参数,就会以符号类型的方式显示权限。奇怪的是,怎么umask会有4组数字啊?不是只有3组吗?没错。第一组是特殊权限用的,我们先不要理它,所以先看后面3组即可。
在默认权限的属性上,目录与文件是不一样的。由于我们不希望文件具有可执行的权力,默认情况中,文件是没有可执行(x)权限的。因此:
• 若用户建立为”文件”则默认“没有可执行(x)项目”,即只有rw这两个项目,也就是最大为666分,默认属性如下:
-rw-rw-rw-
• 若用户建立为”目录”,则由于x与是否可以进入此目录有关,因此默认为所有权限均开放,即为777分,默认属性如下:
drwxrwxrwx
umask 指定的是“该默认值需要减掉的权限”。因为r、w、x分别是4、2、1,所以。也就是说,当要去掉能写的权限,就是输入2,而如果要去掉能读的权限,也就是4,那么要去掉读与写的权限,也就是6,而要去掉执行与写入的权限,也就是3。请问,5是什么?就是读与执行的权限。如果以上面的例子来说明的话,因为 umask为022,所以user并没有被去掉属性,不过group与others的属性被去掉了2(也就是w这个属性),那么当用户:
• 建立文件时:(-rw-rw-rw-) – (-----w--w-) ==> -rw-r--r--
• 建立目录时:(drwxrwxrwx) – (d----w--w-) ==> drwxr-xr-x
我们来测试看看。

[root@linux ~]# umask
0022
[root@linux ~]# touch test1
[root@linux ~]# mkdir test2
[root@linux ~]# ll 
-rw-r--r--  1 root root    0 Jul 20 00:36 test1
drwxr-xr-x  2 root root 4096 Jul 20 00:36 test2 

看见了吧?确定属性是没有错的。假如要让与用户同用户组的人也可以存取文件呢?也就是说,假如dmtsai是users用户组的人,而dmtsai做的文件希望让users同用户组的人也可以存取,这也是在团队开发计划时常常会考虑到的权限问题。在这样的情况下,umask自然不能取消group的w权限,也就是说,我们希望制作出来的文件应该是 -rw-rw-r-- 的模样,所以,umask应该是002才好(仅去掉others的w权限)。如何设置umask呢?简单得很,直接在umask后面输入002。

[root@linux ~]# umask 002
[root@linux ~]# touch test3
[root@linux ~]# mkdir test4
[root@linux ~]# ll 
-rw-rw-r--  1 root root    0 Jul 20 00:41 test3
drwxrwxr-x  2 root root 4096 Jul 20 00:41 test4

所以,这个umask对于文件与目录的默认权限是很有关系的。这个概念可以用在任何服务器上,尤其是将来在架设文件服务器(file server),比如SAMBA服务器或FTP服务器时,都很重要。这牵涉到用户是否能够将文件进一步利用的问题。不要等闲视之。
例题四:假设umask为003,请问使用该umask,建立的文件与目录权
限是什么?
答:
umask为003,所以去掉的属性为 --------wx,因此:
文件:(-rw-rw-rw-) - (--------wx) = -rw-rw-r--
目录:(drwxrwxrwx) - (--------wx) = drwxrwxr--

提示:有关umask与权限的计算方式中,教科书喜欢使用二进制方式来进行AND与NOT计算,不过,笔者比较喜欢使用符号方式计算,联想比较容易。但是,有的书籍或BBS上,有人喜欢使用文件默认属性666与目录默认属性777来与umask进行相减计算。这是不好的。以例题4来看,如果使用默认属性相加减,则文件变成:666-003=663,即 -rw-rw--wx,这是完全不对的。想想看,原本文件就已经去除x的默认属性了,怎么可能突然间冒出来了?所以,这个地方要特别小心。

在默认的情况中,root的umask会去掉比较多的属性,root的umask默认是022,这是基于安全的考虑。一般身份用户通常的umask 为002,即保留同用户组的写入权力。其实,关于默认umask的设置可以参考 /etc/bashrc文件的内容,不过,建议不要修改该文件,可以参考第11章提到的环境参数设置文件(~/.bashrc)的说明。

分享到:
评论

相关推荐

    Linux系统文件的默认权限和特殊权限

    主要介绍了Linux系统文件的默认权限和特殊权限的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    linux文件权与限之默认权限与隐藏权限

    文件权与限之默认权限与隐藏权限 非纯本文件:ob /bin /usr/bin :普通用户执行的命令 /sbin /usr/sbin :超级用户执行的命令 #cat /usr/bin //会显示乱码 #ob -t type 文件 type: a 默认字符输出 c 使用ASCLL输出 d ...

    NTFS默认权限设置INF文件

    NTFS默认权限设置INF文件 mmc--添加--安全配置与分析--打开数据库--输入123--点击setup security.inf--确定--立即分析计算机---等待完成----导入模板--选择上面的另存--立即配置计算机---确定--等待完成

    Linux中文件权限目录权限的意义及权限对文件目录的意义

    linux中目录与文件权限的意义 一、文件权限的意义 r:可以读这个文件的具体内容; w:可以编辑这个文件的内容,包括增加删除文件的具体内容; x:文件就具有了可执行的权限——-注意:这里和window不一样,在win...

    详解ftp创建文件权限问题

    详解ftp创建文件权限问题 一、问题 有一个这样的需求,admin为一个Linux为其FTP应用创建的一个有权限限制的用户,通过admin用户可以进行登录FTP服务,登录FTP服务后,创建文件夹,该文件夹的用户和用户组都是admin,...

    Linux应用技术:Linux文件权限管理.pptx

    项目3 Linux磁盘文件管理;第三讲 主要内容;查看Linux文件权限;查看文件类型;Linux文件权限的表示;修改文件或目录的权限;修改文件或目录的权限;课堂练习;拓展:特殊权限;...拓展:文件默认权限umask掩码

    linux文件目录默认权限(详解)

    1、文件的默认权限是没有x的,即文件的最大默认权限为666(-rw-rw-rw) 2、由于进入目录和目录的x权限有关,故目录的最大默认权限为777(drwxrwxrwx) 查看默认权限需要使用umask命令: [123@123 ~]$ umask //数字...

    Linux文件权限.pdf

    5) 使用默认权限创建一个文件或目录。 从命令行中修改权限: 1) 使用文件系统来控制安全访问。 2) 回顾chmod命令模式。 3) 使用符号模式修改文件或目录的权限。 4) 确定八进制模式权限。 5) 使用八进制模式修改文件...

    linux文件属性和更改文件权限详解

    2.更改目录/文件权限 2.1 用户和用户组的相关指令 2.2 chgrp命令 2.3 chown命令 2.4 chmod命令 2.5 umask命令  1.文件属性 1.1 ls命令 ls命令是我们最常用的命令之一,用来查看当前目录下的文件或文件夹. ls命令有...

    恢复文件夹默认权限

    文件夹权限被设置后,快速恢复到默认的权限

    系统默认权限、网站比较安全权限、默认权限控制命令umask、文件系统属性(文件属性)、特殊权限1

    2./blog/upload目录 3.更改upload目录的所有者和属组,网站以www用户运行 1. 如以上情况会导致www权限不足 2. 目录修改完后,正常计

    基于SpringBoot和Vue构建的文件分享系统,包括文件的上传与下载,文件的权限管理,远程文件管理等功能

    基于SpringBoot和Vue构建的文件分享系统,包括文件的上传与下载,文件的权限管理,远程文件管理等功能。 关于项目 项目名称 efo 是 Easy File Online 的缩写,字面意思就是让您轻松实现线上文件管理 本系统具有文件...

    通过修改注册表修改exe等默认打开方式

    本文件用于修改注册表来修改默认的打开方式,在reglist.txt文件中输入你想修改的默认打开方式后缀,运行程序后,reglist.txt中的后缀的默认打开方式将会被更改为记事本。然后程序会生成一个outreglist.reg的文件,...

    ubuntu如何运行.sh文件,.sh文件运行提示脚本异常

    ubuntu执行.sh文件,1 .sh文件是Ubuntu下可执行文件,首先需要确定它的权限是否是可执行的,2、 用vim打开sh文件,3、查看文件格式:4. 修改文件格式: 5. 保存退出: 6. 执行:./filename 注意:不可以用sh ...

    jdk1.8.0-xx,下载无限强度权限策略文件补丁包

    使用Java加载密钥时,抛出异常...其他版本,下载无限强度权限策略文件补丁包,并使用其中的文件覆盖$JAVA_HOME/lib/security目录下的对应的local_policy.jar 和 US_export_policy.jar Java9及以上,均无限制。

    Web应用安全:Apache中隐藏特定文件的方法.pptx

    了解了指令的相关信息后,就不难发现,在apache的文件权限默认配置为“Require all denied”,即拒绝所有访问。 隐藏特定文件 我们在原有指令基础上,加上“Require ip ”,意思是,拒绝所有访问,只允许访问。 此时...

    windows7夺取管理权限注册表

    Windows7默认权限系统中很多文件夹和文件是不能打开和替换的,但我们常用的Document等文件夹需要打开,用这个注册表导入后,右键菜单会多出一项“夺取权限”,点击想要夺取控制权限的文件或文件夹完成后即可如普通...

Global site tag (gtag.js) - Google Analytics