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值 |
操作 |
计算后文件权限 |
举例 |
|
|
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的更多相关文章
- Linux文件的默认权限:umask
1. 文件的默认权限 Linux下当我们新建一个文件和目录时,该文件和目录的默认权限是什么? 通过umask命令来查看: $ umask0002 $ umask -Su=rwx,g=rwx,o=rx ...
- Linux—用户新建目录和文件的默认权限设置:umask详解
关注微信公众号:CodingTechWork,一起学习进步. 引言 我们有没有思考过一个问题,在登录Linux系统后,我们创建的目录或者文件的权限,为什么每次创建都是统一的?我们做以下实验:新建一 ...
- 文件的默认权限:umask
1. 文件的默认权限 linux下当我们新建一个文件和文件夹时,该文件和文件夹的默认权限是什么? 通过umask命令来查看: $ umask 0002 $ umask -S u=rwx,g=rwx,o ...
- Linux文件及目录权限解析
Linux系统9位基础权限体系 文件权限 * r权限 可读 对文件具有读取及查看文件内容的全新啊 * w权限 可写 对文件具有新增.修改文件内容的权限 ...
- Linux学习之十四-Linux文件和目录权限
Linux文件和目录权限 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允 ...
- umask 默认权限控制和特殊权限
权限简单介绍: 在Linux中,创建目录或者文件之后总会有默认的权限.共9个,分为三组.分别代表u.g.o(属主.属组.其他用户).r.w.x 也代表各自的权限. r:读 在文件中的权限代表次文件 ...
- umask默认权限及特殊权限
1. linux系统中,创建一个新的文件或者目录的时候,新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关. 用户创建一个文件,文件的默认权限为 -rw-rw-rw-(6 ...
- umask默认权限分配
umask默认权限分配的命令 当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情.umask设置了用户创建文件的默认 权限,它与chmod的效果刚好 ...
- Linux文件和目录权限详细讲解
转载请标明出处: http://www.cnblogs.com/why168888/p/5965180.html 本文出自:[Edwin博客园] Linux文件和目录权限解读 如何设置Linxu文件和 ...
随机推荐
- 关于数据ajax请求
默认设置下,所有请求均为异步请求.如果需要发送同步请求,请将此选项设置为 false.注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行. var temp; $.ajax({ asy ...
- 轻松理解Redux原理及工作流程
轻松理解Redux原理及工作流程 Redux由Dan Abramov在2015年创建的科技术语.是受2014年Facebook的Flux架构以及函数式编程语言Elm启发.很快,Redux因其简单易学体 ...
- CY7C68013 USB接口相机开发记录 - 第四天:上位机编写1
前面学习了USB相机硬件固件.设备驱动,可以实现USB设备识别.数据发送的功能.然后,非常重要的一部分,USB设备发出的数据,我要怎么接受,怎么查看发送的数据是否是正确的.网上百度了下,大部分人都使用 ...
- js怎么删数组固定的值
<script type="text/javascript"> Array.prototype.indexOf = function(val) { for (var i ...
- python网络编程(三)
udp网络通信过程 udp应用:echo服务器 参考代码 #coding=utf-8 from socket import * #1. 创建套接字 udpSocket = socket(AF_INET ...
- Java基础知识总结--反射
反射:在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识.这个信息跟踪着每一个对象所属的类.虚拟机利用运行时类型信息选择相应的方法执行. Java反射机制是在系统运行状态 ...
- UIButton高亮状态卡顿
童鞋们有么有遇到过一个tableview或者是scrollview上放置一个button然后点击button,但是button的高亮状态切换不过来呢? 解决方案: 新建一个类继承自UITableVie ...
- Annotation 的第一个工程
一.什么是 Annotation? java.lang.annotation,接口 Annotation.对于Annotation,是Java5的新特性,JDK5引入了Metadata(元数据)很容易 ...
- javascript——10章 DOM
1.节点关系 (1)childNodes:返回节点的子节点集合 返回值:NodeList 对象,表示节点集合. 注:childNodes只能取到子级,不能取到子级的子级. childNodes所有节点 ...
- pygame-KidsCanCode系列jumpy-part7-游戏启动/结束画面
通常一个游戏启动(start)或结束(game over)时,都会显示一个画面,来引导用户.这节,我们学习如何处理这块逻辑. 其实之前,我们已经预留了2个函数,只要把它实现即可: def show_s ...