一、       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值

操作

计算后文件权限

举例

022

相减

755

范例1

033

相减

744

范例2

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

Linux 文件umask默认权限_012的更多相关文章

  1. Linux文件的默认权限:umask

    1. 文件的默认权限 Linux下当我们新建一个文件和目录时,该文件和目录的默认权限是什么? 通过umask命令来查看: $ umask0002 $ umask -Su=rwx,g=rwx,o=rx ...

  2. Linux—用户新建目录和文件的默认权限设置:umask详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   我们有没有思考过一个问题,在登录Linux系统后,我们创建的目录或者文件的权限,为什么每次创建都是统一的?我们做以下实验:新建一 ...

  3. 文件的默认权限:umask

    1. 文件的默认权限 linux下当我们新建一个文件和文件夹时,该文件和文件夹的默认权限是什么? 通过umask命令来查看: $ umask 0002 $ umask -S u=rwx,g=rwx,o ...

  4. Linux文件及目录权限解析

    Linux系统9位基础权限体系 文件权限   * r权限 可读          对文件具有读取及查看文件内容的全新啊   * w权限 可写        对文件具有新增.修改文件内容的权限     ...

  5. Linux学习之十四-Linux文件和目录权限

    Linux文件和目录权限 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允 ...

  6. umask 默认权限控制和特殊权限

    权限简单介绍: 在Linux中,创建目录或者文件之后总会有默认的权限.共9个,分为三组.分别代表u.g.o(属主.属组.其他用户).r.w.x 也代表各自的权限. r:读   在文件中的权限代表次文件 ...

  7. umask默认权限及特殊权限

    1. linux系统中,创建一个新的文件或者目录的时候,新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关. 用户创建一个文件,文件的默认权限为 -rw-rw-rw-(6 ...

  8. umask默认权限分配

    umask默认权限分配的命令 当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情.umask设置了用户创建文件的默认 权限,它与chmod的效果刚好 ...

  9. Linux文件和目录权限详细讲解

    转载请标明出处: http://www.cnblogs.com/why168888/p/5965180.html 本文出自:[Edwin博客园] Linux文件和目录权限解读 如何设置Linxu文件和 ...

随机推荐

  1. 基于socket构造c/s 架构软件

    1.socket作用 socket层介于应用层和传输层之间,它起着连接应用层和传输层的功能,同时它能连接应用层和网络层. socket把复杂的tcp/ip协议隐藏在socket接口后面,对用户来说,一 ...

  2. Mybatis 传递多个参数

    Mybatis提供了4种传递多个参数的方法: 1 Map sql语句 接口 调用方法 这个方法虽然简单易用,但是存在一个弊端:Map存储的元素是键值对,可读性不好. 2 注解 使用MyBatis的参数 ...

  3. python之函数第一篇

    一.为什么用函数: 解决代码重用问题 统一维护 程序的组织结构清晰,可读性强二.定义函数 先定义后使用!! def funcname(arg1,arg2,...): """ ...

  4. 1、html基础认识&常用标签(1)

    从今天期我们进入前端的学习,先学习html,没有任何复杂难懂的逻辑需要烧脑,只需要记忆.练习.练习.练习. 本篇导航: HTML初识 常用标签介绍 <body>内常用标签 一.HTML初识 ...

  5. Shader、Draw Call和渲染管线(Rendering Pipeline)

    翻阅了很多资料,也做了不少笔记,决定还是对渲染进行一个总结,以巩固所学的东西. <Real-Time Rendering, Third Edition>   (PDF的配图链接)将一个渲染 ...

  6. Gradle初识

    一.安装配置 gradle官方网站https://gradle.org/,下载下来是一个压缩包,解压到合适的目录即可,然后配置环境变量(GRADLE_HOME,Path),略去. 二.IDEA配置 N ...

  7. ethtool 解决网卡丢包严重和网卡原理

      1 概述 最近业务上老有问题,查看发现overruns值不断增加,学习了一下相关的知识.发现数值也在不停的增加.发现这些 errors, dropped, overruns 表示的含义还不大一样. ...

  8. 百度brpc 压测工具rpc_press解析

    1. 背景 昨天看到一段brpc中的压测代码rpc_press, 看着不错.整理一下. 发压工具的难点不是发送请求,而是要注意下面的2点: 保证能发出足够的qps,比如上万qps 控制发送合理的qps ...

  9. html5使用canvas实现毫秒级画心电图

  10. 调试 lvgl 的一个例子

    发现一个新的 vector graphic 的库,用 C 写的,效果丰富,接口简单,而且是 MIT License,所以想试一试.因为它支持 framebuffer,所以,在 linux 上先走一个. ...