美文网首页
Linux 文件umask默认权限

Linux 文件umask默认权限

作者: DB哥 | 来源:发表于2019-07-31 08:19 被阅读0次

    一、 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用户操作)

    文件权限计算方法

    目录权限计算方法

    范例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-)

    相关文章

      网友评论

          本文标题:Linux 文件umask默认权限

          本文链接:https://www.haomeiwen.com/subject/mqegrctx.html