linux中修改用户建立文件时的缺省权限——umask

1、umask是什么?

  1. linux系统中,用户登陆到系统中后,建立一个文件的时候,这个文件有一个默认的权限,该默认权限在linux中由umask这个命令来管理。
  2. 直接使用umask命令能够查看并修改当前shell中用户建立文件的缺省权限。即修改完后关闭该shell再从新开启shell会发现上次修改未起做用,这主要是因为还有一个系统默认的umask的设置,通常在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。
  3. umask的值实际上能够参考chmod的时候文件权限的数字值,可是umask是要“拿走”相应的位而已:php

    (1)文件的rwx权限对应的数字分别是四、二、1.
    (2)若是umask的值是0002,第一个0与特殊权限有关,暂时忽略,后边的002,每一位的含义分别讨论当前用户(u),当前所在的组(g),其余用户(o)等的权限,u的权限减去0为权限不变(rw-),g的权限减去0为权限不变(rw-),o的权限减去2为减去w权限(r--).

2、umask在业务中有什么用?

  1. 一般在程序中使用umask命令,好比php中有函数umask(0002),能够在当前程序中设置默认的建立文件的权限为rw-rw-r--,可是该程序结束后就会直接恢复原来的umask的值。
  2. 实际上umask就是为了设置默认的建立文件的权限,使用chmod也能实现相同的业务功能,因此,umask的关键词就是“默认权限”。
相关文章
相关标签/搜索