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

    一、       umask介绍

      Linux 系统用户创建一个新的目录或文件时,系统会默认会分配相应的权限。目录或文件的权限是如何产生的呢?

      1、这就是umask的功能,umask设置了用户创建文件或目录的默认权限。Linux 系统umask设置的默认权限属于安全权限的临界点,如果高于这个临界点,文件的权限就太过危险,如果低于这个临界点,文件的权限太过苛刻,操作麻烦。

      2、Linux系统root系统管理员用户默认umask值为0022,对应创建目录默认权限为755,对应创建文件默认权限为644.Linux系统其它用户默认uamsk值为0002, 对应创建目录默认权限为775, 对应创建文件默认权限为664.

    root系统管理员用户创建文件和目录:

    [oldgirl@oldboy ~]$ whoami

    oldgirl

    [root@oldboy ~]# umask

    0022

    [root@oldboy ~]# mkdir test

    [root@oldboy ~]# ls -ld /test/

    drwxr-xr-x 2 root root 4096 Dec  1 11:47 /test/

    [root@oldboy ~]# touch /test/file.txt

    [root@oldboy ~]# ls -l /test/file.txt

    -rw-r--r-- 2 root root 0 Dec  5 09:47 /test/file.txt

    test普通用户创建文件和目录:

    [test@oldboy ~]$ whoami

    test

    [test@oldboy ~]$ umask

    0002

    [test@oldboy ~]$ mkdir hello

    [test@oldboy ~]$ ls -ld hello/

    drwxrwxr-x 2 test test 4096 Dec  5 10:03 hello/

    [test@oldboy ~]$ touch testfile.txt

    [test@oldboy ~]$ ls -l testfile.txt

    -rw-rw-r-- 1 test test 0 Dec  5 10:03 testfile.txt

    Linux 系统umask默认值存在于bashrc系统文件:

    [test@oldboy ~]$ sed -n '65,69p' /etc/bashrc

        if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

           umask 002

        else

           umask 022

    fi

    Linux 临时设置umask默认值:(umask默认是四位,第一位是文件特殊权限位,可以暂时忽略):

    [test@oldboy ~]$ umask 033

    [test@oldboy ~]$ umask

    0033

    二、umask值对应文件权限计算方法(以系统管理员root用户操作)

    文件权限计算方法

    文件的起始权限值

    umask值

    操作

    计算后文件权限

    举例

    666

    022  (每位如果都是偶数)

    相减

    644

    范例1

    666

    033  (每位如果有奇数或偶数)

    相减(奇数位相减后在其原奇数位加1)

    644

    范例2

    666

    325(每位如果有奇数或偶数)

    相减(奇数位相减后在其原奇数位加1)

    442

    范例3

    目录权限计算方法

    文件的起始权限值

    umask值

    操作

    计算后文件权限

    举例

    777

    022

    相减

    755

    范例1

    777

    033

    相减

    744

    范例2

    777

    325

    相减

    452

    范例3

    范例1:

    [root@oldboy ~]# umask

    0022

    [root@oldboy ~]# mkdir /oldboy

    [root@oldboy ~]# touch /oldboy/test.sh

    [root@oldboy ~]# ls -ld /oldboy/

    drwxr-xr-x 2 root root 4096 Dec  5 11:16 /oldboy/

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -rw-r--r-- 1 root root 0 Dec  5 11:16 /oldboy/test.sh

    [root@oldboy ~]# stat /oldboy/ | awk -F '[: ]+' 'NR==4 {print $2}'

    (0755/drwxr-xr-x)

    [root@oldboy ~]# stat /oldboy/test.sh | awk -F '[: ]+' 'NR==4 {print $2}'

    (0644/-rw-r--r--)

    范例2:

    [root@oldboy ~]# umask 033

    [root@oldboy ~]# umask

    0033

    [root@oldboy ~]# mkdir /oldboy

    [root@oldboy ~]# touch /oldboy/test.sh

    [root@oldboy ~]# ls -ld /oldboy/

    drwxr--r-- 2 root root 4096 Dec  5 11:26 /oldboy/

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -rw-r--r-- 1 root root 0 Dec  5 11:26 /oldboy/test.sh

    [root@oldboy ~]# stat /oldboy/ | awk -F '[: ]+' 'NR==4 {print $2}'

    (0744/drwxr--r--)

    [root@oldboy ~]# stat /oldboy/test.sh | awk -F '[: ]+' 'NR==4 {print $2}'

    (0644/-rw-r--r--)

    范例3:

    [root@oldboy ~]# umask 325

    [root@oldboy ~]# umask

    0325

    [root@oldboy ~]# mkdir /oldboy

    [root@oldboy ~]# touch /oldboy/test.sh

    [root@oldboy ~]# ls -ld /oldboy/

    dr--r-x-w- 2 root root 4096 Dec  5 11:34 /oldboy/

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -r--r---w- 1 root root 0 Dec  5 11:34 /oldboy/test.sh

    [root@oldboy ~]# stat /oldboy/ | awk -F '[: ]+' 'NR==4 {print $2}'

    (0452/dr--r-x-w-)

    [root@oldboy ~]# stat /oldboy/test.sh | awk -F '[: ]+' 'NR==4 {print $2}'

    (0442/-r--r---w-)

  • 相关阅读:
    CRM导入解决方案后审核记录异常
    Plugin从Sync改为Async后报Could not load file or assembly错误
    阿里云四层SLB和七层SLB的区别
    PLUGIN中初始化Service-IOrganizationServiceFactory.CreateOrganizationService 方法
    Dynamics CRM启用Trace跟踪
    QueryExpression查询中的OR写法
    Dynamics CRM安装过程中可能遇到的报错
    多台服务器情况下Microsoft Dynamics CRM Server后端服务器的高可用探讨
    【转】Network Load Balancing Microsoft Dynamics CRM 2013
    iOS 开发的非常有用 第三方库
  • 原文地址:https://www.cnblogs.com/zoulongbin/p/10512301.html
Copyright © 2011-2022 走看看