zoukankan      html  css  js  c++  java
  • umask命令

    umask命令

    Linux和其他类Unix的操作系统上,将使用一组默认权限创建新文件,具体来说,可以通过应用称为umask的权限掩码,以特定方式限制新文件的权限,umask命令指定在建立文件时预设的权限掩码,或者展示当前的权限掩码值。

    语法

    umask [-S] [mask]
    

    参数

    • -S: 以文字的方式来表示权限掩码。
    • mask: 果指定了有效的掩码,则将umask设置为此值,如果未指定掩码,则返回当前的umask值。

    权限

    使用ll命令查看文件与文件夹相关信息,对于其权限信息:

    drwxr-xr-x 12 linuxize users 4.0K Apr  8 20:51 dirname
    |[-][-][-]    [------] [---]
    | |  |  |        |       |       
    | |  |  |        |       +-----------> Group
    | |  |  |        +-------------------> Owner
    | |  |  +----------------------------> Others Permissions
    | |  +-------------------------------> Group Permissions
    | +----------------------------------> Owner Permissions
    +------------------------------------> File Type
    
    • 首符号为-代表该文件为普通文件,为d则代表目录。
    • 紧接着三个字符rw-代表用户u权限属性。
    • 接下来三个字符r--代表用户组g权限属性。
    • 最后三个字符r--代表其他人o权限属性。

    权限可以使用字符表示,同样也可以使用八进制表示信息:

    • r: 读取属性,值为4
    • w: 写入属性,值为2
    • x: 执行属性,值为1

    关于操作权限的操作符:

    • +: 为指定的用户类增加指定的文件权限。
    • -:为指定的用户类去除指定的文件权限。
    • =: 为指定的用户类设定指定的文件权限。

    工作

    本质上,umask的每个数字都从操作系统的默认值中减去,以获得定义的默认值,这不是真正的减法,从技术上讲是将掩码按位取反,然后使用逻辑AND操作将此值应用于默认权限,例如umask值为0022

    • Linux系统上,默认的创建文件权限是666,默认创建文件夹的权限为777
    • 即文件默认权限666 - 022 = 644即现在创建的新文件的权限为644
    • 创建文件夹则为777 - 022 = 755即现在创建的新文件夹的权限为755

    此外,第一个零是特殊的权限数字,可以忽略,就当前的目的而言,0002002相同。

    示例

    查看系统当前umask值。

    umask
    # 0022 
    

    以符号表示形式表示当前系统权限掩码。

    umask -S
    # u=rwx,g=rx,o=rx # 实际上表达的是在所有者或者组以及其他人中的哪些权限已经被取消
    

    将系统umask值设置为022

    umask 022
    

    每日一题

    https://github.com/WindrunnerMax/EveryDay
    

    参考

    https://www.computerhope.com/unix/uumask.htm
    https://linuxize.com/post/umask-command-in-linux/
    https://www.runoob.com/linux/linux-comm-umask.html
    
  • 相关阅读:
    “浪潮杯”第九届山东省ACM大学生程序设计竞赛 F: Four-tuples容斥定理
    B
    C. Tourist Problem 2021.3.29 晚vj拉题 cf 1600 纯数学题
    C. Sum of Cubes
    Day29、Python中的异常处理及元类
    isinstance,issubclass,反射,内置方法(__str__,__del__,__call__)
    绑定方法与非绑定方法;classmethod及staticmethod装饰器
    组合,多态,封装
    类的继承
    面向对象编程思想基本介绍,类与对象的基本使用,属性查找,绑定方法
  • 原文地址:https://www.cnblogs.com/WindrunnerMax/p/13619635.html
Copyright © 2011-2022 走看看