`

linux那个umask值是什么?

 
阅读更多

我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?
umask是什么? 当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。 如何计算umask值? umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。 该命令的一般形式为:umask nnn 其中nnn为umask置000 - 777。 我们只要记住u m a s k是从权限中“拿走”相应的位即可。 如:umask值为022,则默认目录权限为755,默认文件权限为644。

一 权限掩码umask

umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)

二 umask的作用

默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认 权限是755(7-0,7-2,7-2),可以用ls -l验证一下哦 现在应该知道umask的用途了吧,它是为了控制默认权限,不要使默认的文件和目录具有全权而设的

三 修改umask值

知道了umask的作用后,你可以修改umask的值了,例如:umask 024则以后建立的文件和目录的默认权限就为642,753了

四 将umask值保存到环境文件

若要长期修改umask的值,可以把它写进/etc/profile或~/.profile或~/.bash_profile中,大家应该知道这几个文件是干什么用的吧。

您知道当你建立一个新的档案或目录时,他的预设属性会是什么吗?呵呵!那就与 umask 有关了!那么 umask 是在搞什么呢?基本上, umask 就是指定『目前使用者在建立档案或目录时候的属性默认值』,那么如何得知或设定 umask 呢?他的指定条件以底下的方式来指定:语法:

[root @test root]# umask 0022 [root@vbird test]# umask 002 <==后面接 3 个数字! [root@vbird test]# umask 0002

说明:查看 umask 数值为直接输入 umask 即可,而设定呢?没错!就是 umask 之后接三个数字!那么如何来指定呢?主要还是跟 Linux 的档案属性(那九个属性, r, w, x )有关的,而且是以分数的那一个关系为例的,而有底下的规则为辅:

若使用者建立为『档案』则预设『没有可执行 ( x ) 项目』,亦即只有 rw 这两个项目,也就是最大为 666 分

–rw-rw-rw-

若使用者建立为『目录』,则由于 x 与是否可以进入此目录有关,因此预设为所有权限均开放,亦即为 777 分

drwxrwxrwx   那么 umask 指定的是『该默认值需要减掉的权限!』因为 r、w、x 分别是 4、2、1 分,所以啰!也就是说,当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉执行与写入的权限,也就是 3 分,这样了解吗?请问您, 5 分是什么?呵呵!就是读与执行的权限啦!如果以上面的例子来说明的话,因为 umask 为 002 ,所以 user, group 并没有被拿掉属性,不过 others 的属性被拿掉了 2 ( 也就是 w 这个属性 ),那么由于当使用者:   建立档案时:(-rw-rw-rw-) – (——–w-) ==> -rw-rw-r– 建立目录时:(drwxrwxrwx) – (——–w-) ==> drwxrwxr-x   不相信吗?你只要使用 touch test 然后看看这个 test 的档案属性,就可以知道了!那么如何看你这个使用者目前的 umask呢?直接下达 umask 即可!实作看看先:   [root@vbird test]# umask 0002 [root@vbird test]# touch test1 [root@vbird test]# mkdir test2 [root@vbird test]# ls -l -rw-rw-r– 1 root root 0 Oct 22 00:00 test1 drwxrwxr-x 2 root root 4096 Oct 22 00:00 test2/

发现了什么?呵呵! Test1 的属性为 666-002 = 664 !正确吗?是的!正确!而 test2 这个目录呢?就是 777-002 = 775 !也正确!

[root@vbird test]# umask 003 [root@vbird test]# touch test3 [root@vbird test]# mkdir test4 [root@vbird test]# ll -rw-rw-r– 1 root root 0 Oct 22 00:03 test3 drwxrwxr– 2 root root 4096 Oct 22 00:03 test4/

嘿!属性又跟刚刚的不一样啰!仔细推敲一下为什么呦!test3 666-003 =663,这是怎么一回事?! 663 应该是 -rw-rw–wx 才对啊!怎么会是上面的属性!呵呵!这里就要特别的给他强调了!『尽量不要以数字相加减啦!』容易造成类似上面的问题!你应该要这样想(-rw-rw- rw-) – (——–wx)=-rw-rw-r–这样就对啦!了解了吗?不要用十进制的数字喔!够能力的话,用二进制来算,不晓得的话,用 rwx 来算喔!

由上面的例子您应该很轻易的就可以发现 umask 的用途!而这个 umask 可以在 /etc/bashrc 里面进行修改喔!预设的情况之下, root 的 umask 为 022 而一般使用者则为 002 ,因为可写的权限蛮严重的,因此预设都会拿掉这个权限!此外,因为 root 比较重要!所以为了安全的需求,其同群组的写入属性就被拿掉了!这东西对于安全性也有一定程度的贡献呦!

例如,对于u m a s k值0 0 2,相应的文件和目录缺省创建权限是什么呢? 第一步,我们首先写下具有全部权限的模式,即7 7 7 (所有用户都具有读、写和执行权限)。 第二步,在下面一行按照u m a s k值写下相应的位,在本例中是0 0 2。 第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。 稍加练习就能够记住这种方法。 第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即 可。 这就是上面的例子,其中u m a s k值为0 0 2: 1) 文件的最大权限rwx rwx rwx (777) 2) umask值为0 0 2 – - – - – - -w- 3) 目录权限rwx rwx r-x (775) 这就是目录创建缺省权限 4) 文件权限rw- rw- r– (664) 这就是文件创建缺省权限 下面是另外一个例子,假设这次u m a s k值为0 2 2: 1) 文件的最大权限rwx rwx rwx (777) 2 ) u m a s k值为0 2 2 – - – -w- -w- 3) 目录权限rwx r-x r-x (755) 这就是目录创建缺省权限 4) 文件权限rw- r– r– (644) 这就是文件创建缺省权限

分享到:
评论

相关推荐

    LINUX UMASK详解

    LINUX UMASK 详解 umask 是 Linux 操作系统中的一个重要概念,它用于控制文件和目录的默认权限。了解 umask 的作用和使用方法是 Linux 系统管理员必备的知识。 一、umask 的概念和作用 umask 是一个权限掩码,它...

    深入浅出linux系统umask值及其对应的文件权限讲解.pdf

    深入浅出 Linux 系统 umask 值及其对应的文件权限讲解 Linux 系统中,umask 值是一个非常重要的概念,它能够控制文件和目录的权限。但是,很多人对 umask 值的计算方法和权限的关系不甚了解。在这篇文章中,我们将...

    详解linux下umask的使用

    最近开始学习linux ,看完马哥的linux课程关于umask的这个部分, 写这篇博客希望加深下我对umask的理解 和对umask不太清楚的博友一些帮助。 1 umask 是什么 当我们登录系统之后创建一个...默认情况下的umask值是022(可

    linux新文件权限设置之umask的深入理解

    在实际操作中,可以使用`umask`命令查看当前的umask值。例如,当umask为022时,创建的文件如"a.txt"默认权限将是644,而创建的目录如"b"的默认权限将是755,这可以通过`ls -l`命令来验证。 umask的使用有助于统一和...

    sujiangming#BigData-3#Linux umask文件创建时的权限的缺省模式1

    一、如何设置 umask 值通过 umask 命令可以设定文件创建时的缺省模式,对于每一类用户(文件属主、同组用户、其他用户)都存在一个相应的 umask 值中

    浅谈Linux中文件访问权限与权限掩码关系.pdf

    Linux操作系统中,文件的访问权限与约定权限和权限掩码(umask值)有着密切的关系。在Linux系统里,文件权限是基于用户(user)、用户组(group)和其他用户(others)的读(r)、写(w)和执行(x)权限设置,这种...

    Linux网络操作系统基础:权限管理命令chown、chgrp和umask命令.pptx

    不同的`umask`值对应不同的默认权限,如`027`会产生目录权限`750`,`002`则会让新文件具有`664`权限,新目录具有`775`权限。 理解并熟练使用这些命令,对于在Linux环境中有效管理和保护数据至关重要。权限管理不仅...

    08-Linux权限设置

    umask值中的第一位是特殊权限位,用于表示SetUID、SetGID和Sticky Bit三个权限。SetUID表示文件所有者拥有超级用户权限,SetGID表示文件所属组拥有超级用户权限,Sticky Bit表示目录中的文件只能被文件所有者、目录...

    linux中rcS文件详解

    总结来说,rcS文件在Linux系统启动过程中扮演着非常重要的角色,它通过设置和导出PATH环境变量、设置运行级别、配置umask值、挂载文件系统、配置网络等操作,确保系统能够顺利进入命令行模式,并具备基本的运行环境...

    Linux系统加固.pdf

    在Linux系统中,umask值通常设置为027,这意味着新创建的文件默认权限为640(-rw-r-----),新创建的目录默认权限为750(drwxr-x---)。这样的设置能够有效防止其他用户访问或修改不属于他们的文件和目录。 文档中...

    基于云平台的linux服务器搭建探究.pdf

    "基于云平台的Linux服务器搭建探究" ...anon_umask=022,设置匿名用户的umask值等。 本文探究了Linux服务器的特点,并探析了基于云平台的Linux服务器的搭建,旨在为用户提供云服务,具有非常大的发展潜力。

    linux 加固手册

    加固措施涵盖了密码策略的修改、UMASK值的设定、不必要的系统用户和组的锁定、预防SYN flood攻击、ARP欺骗的防御、无用服务的停止、X-Window系统的禁用以及残留信息的保护。 首先,文档提出了修改密码策略的建议,...

    05-linux-认识文件

    例如,umask 值为 0002,文件默认权限为 0666,那么文件的初始权限为 0664。 SELinux SELinux 是 Security-Enhanced Linux 的缩写,是 Linux 内核级别的一种安全机制。它可以限制用户或者进程对系统资源的访问,以...

    经典《Linux与UNIX Shell编程指南》中文文字版.pdf

    在Linux中,可以通过umask(user file-creation mode mask)来设置默认权限,umask值决定了新创建文件和目录的初始权限。umask值越小,创建文件和目录的权限越宽松。 4. 特殊权限位 除了基本的读写执行权限之外,还...

    linux下文件操作

    此外,Linux系统对文件操作的权限也有严格控制,通常文件的权限由umask值和创建模式共同决定。umask值决定了新创建文件的默认权限,而创建模式则是用户指定的文件访问权限。在创建文件时,系统会根据这两个值计算出...

    Linux与Unix shell 编程指南

    管理员可以在/etc/profile、$HOME/.profile、$HOME/.bash_profile等配置文件中设置默认的umask值,这样每次用户登录时都会应用这个设置。 最后,指南中还列举了各种权限和命令的具体示例,如chmod命令对文件权限的...

    linux基础部分知识点

    umask的值是一个八进制数字,它定义了权限的否定值。例如,umask 022意味着新创建的文件默认对所有者有读写权限,对组和其他用户只有读权限。这是因为022表示的是不给组和其他用户写权限,不给其他用户执行权限。 ...

Global site tag (gtag.js) - Google Analytics