umask
本文最后更新于 2345 天前,其中的信息可能已经有所发展或是发生改变。

什么是umask

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限”补码”,而chmod设置的是文件权限码。一般在/etc/profile$[HOME]/.bash_profile$[HOME]/.profile中设置umask值。

查看 umask 的值

输入

umask

1 如何计算umask

umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、
其他用户)存在一个相应的 umask 值中的数字。对于文件来说,这一数字的最大值分别是6
系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用 chmod 命令增加这一
权限。目录则允许设置执行权限,这样针对目录来说,umask 中各个数字最大可以到7

该命令的一般形式为:

umask nnn

其中nnnumask000 – 777

umask值与权限

例如,对于umask002,相应的文件和目录缺省创建权限是什么呢?

第一步,我们首先写下具有全部权限的模式,即777 (所有用户都具有读、写和执行权限)。
第二步,在下面一行按照umask值写下相应的位,在本例中是002
第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。

稍加练习就能够记住这种方法。

第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即可。

这就是上面的例子,其中umask值为002

1) 文件的最大权限rwx rwx rwx 777
2) umask值为002 – – – – – – -w-
3) 目录权限rwx rwx r-x 775 这就是目录创建缺省权限
4) 文件权限rw- rw- r– 664 这就是文件创建缺省权限

下面是另外一个例子,假设这次 umask 值为 022

1) 文件的最大权限rwx rwx rwx 777
2) umask值为022 – – – -w- -w-
3) 目录权限rwx r-x r-x 755 这就是目录创建缺省权限
4) 文件权限rw- r– r– 644 这就是文件创建缺省权限

2 常用的umask

如果想知道当前的umask值,可以使用umask命令:
如果想要改变umask值,只要使用umask命令设置一个新的值即可:

$ umask 002

确认一下系统是否已经接受了新的umask值:

在使用umask命令之前一定要弄清楚到底希望具有什么样的文件/目录创建缺省权限。否
则可能会得到一些非常奇怪的结果

例如,如果将umask值设置为600,那么所创建的文件/目录的缺省权限就是066

除非你有特殊需要,否则没有必要去管他,系统默认的值 022
umask是用的掩码,至于掩码的概念,从基础学吧,这里不说了。

掌握二个要点,

一、文件基数为666,目录为777,即文件无设x位,目录可设x位。
二、chmod是设哪个位,哪么哪个位就有权限,而umask是设哪个位,则哪个位上就没权限。
我们只要记住umask是从权限中”拿走”相应的位即可。

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇