linux下umask的使用讲解

更新时间:2023-05-31 19:58:08 阅读: 评论:0

linux下umask的使⽤讲解
最近开始学习linux ,看完马哥的linux课程关于umask的这个部分,写这篇博客希望加深下我对umask的理解和对umask 不太清楚的博友⼀些帮助。
1 umask 是什么
当我们登录系统之后创建⼀个⽂件是会有⼀个默认权限的,那么这个权限是怎么来的呢?这就是umask⼲的事情。umask⽤于设置⽤户创建⽂件或者⽬录的默认权限,umask设置的是权限的“补码”,⽽我们常⽤chmod设置的是⽂件权限码。⼀般在/etc/profile,HOME/.bash p rofile或者HOME/.profile 中设置umask 值。
2 umask是⽤来做什么的
默认情况下的umask值是022(可以⽤umask命令查看),此时你建⽴的⽂件默认权限是644(6-0,6-2,6-2),建⽴的⽬录的默认权限是755(7-0,7-2,7-2),可以⽤ls -l验证⼀下, 现在应该知道umask的⽤途了吧,它是为了控制默认权限的。
[root@bogon test]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@bogon test]# umask
0022
[root@bogon test]#
[root@bogon test]# ls -l
total 0
-rw-r--r--. 1 root root 0 Jul  3 00:
[root@bogon test]# mkdir b
[root@bogon test]# ls -l
total 0
-rw-r--r--. 1 root root 0 Jul  3 00:
drwxr-xr-x. 2 root root 6 Jul  3 00:41 b
从上⾯可以看到, root 的umask是022(第⼀个0 代表特殊权限位,这⾥先不考虑),创建的⽂件默认权限是644,创建的⽬录是755。
3 基本权限讲解
讲解umask的使⽤之前,需要先讲解下⽂件的基本权限
linux⽂件权限
r w x
⽂件可以查看⽂
件内容
可以修改⽂件
可以把⽂件启动为⼀个运⾏
的程序
⽬录可以ls查看
⽬录中的⽂
件名
可以在⽬录中创建或者删除⽂件
(只有w权限没法创建,需要x配
合)
可以使⽤cd 进⼊这个⽬录 ls-
助长l显⽰⽬录内⽂件的元数据的
信息
4 umask计算权限
对于⽂件和⽬录来说,最⼤的权限其实都是777,但是执⾏权限对于⽂件来说,很可怕,⽽对⽬录来说执⾏权限是个基本权限。所以默认⽬录的最⼤权限是777,⽽⽂件的默认最⼤权限就是666。
对于root⽤户的umask=022这个来说,777权限⼆进制码就是(111)(111)(111),022权限⼆进制码为(000)(010)(010)。lf introduction
所有权限⼆进制的1:代表有这个权限
umask⼆进制1:代表要去掉这个权限,不管你原来有没有权限,你最终⼀定没有这个权限。
umask⼆进制的0:代表我不关⼼对应位的权限,你原来有权限就有权限,没有就没有,我不影响你。
umask为002的⽂件默认权限计算⽅法
所有者 r所有者 w所有者 x所在组 r所在组 w所在组 x其他 r其他 w其他 x
所有权限777111111111
umask掩码022*********实习医生格蕾第8季
计算后的值111101101
我的成长之路
umask为002的⽬录默认权限计算⽅法
所有者 r所有者 w所有者 x所在组 r所在组 w所在组 x其他 r其他 w其他 x
所有权限666110110110
klineumask掩码022*********
计算后的值110100100
umask为023的⽬录默认权限计算⽅法
所有者 r所有者 w所有者 x所在组 r所在组 w所在组 x其他 r其他 w其他 x
英语在线翻译器所有权限777111111111
umask掩码023*********
计算后的值111101100
umask为023的⽂件默认权限计算⽅法
ab制
所有者 r所有者 w所有者 x所在组 r所在组 w所在组 x其他 r其他 w其他 x
所有权限666110110110
umask掩码023*********
计算后的值110100100
氨基酸缩写上⾯就是⼀个umask的正常计算过程,但是这样实在是太⿇烦了。我们使⽤如下的简单的⽅法快速计算。
对于⽬录,直接使⽤777-umask即可,就得到了最终结果。
对于⽂件,先使⽤666-umask。
  如果对应位上为偶数:最终权限就是这个偶数值。
  如果上⾯的对应为上有奇数,就对应位+1。平面设计学习网站
上⾯的这个⽅法计算是⾮常⽅便的,为何得到奇数要+1呢。
⽂件的最⼤权限是666,都是偶数,你得到奇数,说明你的umask有奇数啊,读为4,写为2,都是偶数,说明你有执⾏权限的。
就按照上⾯的umask=023为例,在计算其他⽤户权限的时候6-3=3 ,6是读写,3是写和执⾏,其实应
该是读写权限减去读权限的得到写权限的,相当于我们多减去了⼀个执⾏权限。所以结果加1。
www orgasm com
5 umask的修改
umask 的修改分2中,临时修改的和永久修改的
临时修改:
[root@bogon test]# umask 023
[root@bogon test]# umask
0023
[root@bogon test]#
永久修改:
可以编辑以下⽂件添加umask=022。
交互式登陆的配置⽣效:
/
etc/profile < /etc/profile.d/*.sh < ~/.bash_profile < ~/.bashrc </etc/bashrc 【/etc/bashrc的配置最有效可以覆盖前⾯的配置】⾮交互登陆的配置⽣效:
~/.bashrc < /etc/bashrc  < /etc/profile.d/*.sh
6 常⽤umask
[root@bogon test]# umask 002
[root@bogon test]# umask
0002
[root@bogon test]# umask 022
[root@bogon test]# umask
0022
Loading [MathJax]/jax/output/HTML-CSS/jax.js

本文发布于:2023-05-31 19:58:08,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/822195.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:DISC简介
标签:权限   默认   创建   学习   配置   计算   奇数   得到
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图