zoukankan      html  css  js  c++  java
  • umask 文件默认权限

    参考资料 http://book.51cto.com/art/200709/57189.htm

    umask就是指定当前用户在建立文件或目录时候的属性默认值。

    linux-xdYUnA:~ # umask
    0027
    linux-xdYUnA:~ # umask -S
    u=rwx,g=rx,o=
    linux-xdYUnA:~ # touch abc
    linux-xdYUnA:~ # ll abc
    -rw-r----- 1 root root 0 Mar 19 14:27 abc
    linux-xdYUnA:~ # umask 0022
    linux-xdYUnA:~ # umask
    0022
    linux-xdYUnA:~ # umask -S
    u=rwx,g=rx,o=rx
    linux-xdYUnA:~ # touch abcd
    linux-xdYUnA:~ # ll abcd
    -rw-r--r-- 1 root root 0 Mar 19 14:28 abcd

    在默认权限的属性上,目录与文件是不一样的。由于我们不希望文件具有可执行的权力,默认情况中,文件是没有可执行(x)权限的。因此:
    • 若用户建立为”文件”则默认“没有可执行(x)项目”,即只有rw这两个项目,也就是最大为666分,默认属性如下:
    -rw-rw-rw-
    • 若用户建立为”目录”,则由于x与是否可以进入此目录有关,因此默认为所有权限均开放,即为777分,默认属性如下:
    drwxrwxrwx

    umask指定的是“该默认值需要减掉的权限”。因为r、w、x分别是4、2、1,所以。也就是说,当要去掉能写的权限,就是输入2,而如果要去掉能读的权限,也就是4,那么要去掉读与写的权限,也就是6,而要去掉执行与写入的权限,也就是3。

    因为umask为022,所以user并没有被去掉属性,不过group与others的属性被去掉了2(也就是w这个属性),那么当用户:
    • 建立文件时:(-rw-rw-rw-) – (-----w--w-) ==> -rw-r--r-- 
    • 建立目录时:(drwxrwxrwx) – (d----w--w-) ==> drwxr-xr-x

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

    默认情况,包括 touch一个文件,echo一个文件等创建的文件。

  • 相关阅读:
    [Linux 004]——用户和用户组以及 Linux 权限管理(二)
    [Linux 003]——用户和用户组以及 Linux 权限管理(一)
    [Linux 002]——Linux的常用命令
    [Linux 001]——计算机和操作系统的基础知识
    给 Android 开发者的 RxJava 详解
    Mac OSX系统搭建React natvie for android 开发环境
    Java中的堆和栈的区别
    Nginx配置详解
    在博客园安家了!
    J2SE核心实战开发—— 集合类框架
  • 原文地址:https://www.cnblogs.com/xingmuxin/p/8601825.html
Copyright © 2011-2022 走看看