每天学点linux命令

ぃ、小莉子 提交于 2019-11-28 18:07:24

用来设置限制新建文档权限的掩码

补充说明

umask命令 用来设置限制新建文档权限的掩码。当新文档被创建时,其最初的权限由文档创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文档的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉。

语法

1
umask(选项)(参数)

选项

12
-p:输出的权限掩码可直接作为命令来执行;-S:以符号方式输出权限掩码。

参数

权限掩码:指定权限掩码。

实例

利用umask命令可以指定哪些权限将在新文档的默认权限中被删除。例如,可以使用下面的命令创建掩码,使得组用户的写权限,其他用户的读、写和执行权限都被取消:

1
umask u=, g=w, o=rwx

执行该命令以后,对于下面创建的新文档,其文档主的权限未做任何改变,而组用户没有写权限,其他用户的所有权限都被取消。

应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。在chmod命令中,利用它来设置指定的权限,而其余权限则被删除;但是在umask命令中,它将在原有权限的基础上删除指定的权限。

不能直接利用umask命令创建一个可执行的文档,用户只能在其后利用chmod命令使它具有执行权限。假设执行了命令umask u=, g=w, o=rwx,虽然在命令行中,没有删去文档主和组用户的执行权限,但默认的文档权限还是640(即 rw-r—–),而不是750(rwxr-x—)。但是,如果创建的是目录或者通过编译进程创建的一个可执行文档,将不受此限制。在这种情况 下,会设置文档的执行权限。

也可以使用八进制数值来设置mode。由于在umask中所指定的权限是要从文档中删除的,所以,如果该文档原来的初始化权限是777,那么执行命令umask 022以后,该文档的权限将变为755:如果该文档原来的初始化权限是666,那么该文档的权限将变为644。

可以使用下面的命令检查新创建文档的默认权限:

1
umask -S

选项-S表示以字符形式显示当前的掩码。如果直接输入umask命令,不带任何参数,那么将以八进制形式显示当前的掩码。系统默认的掩码是0022。

原文引用 大专栏  https://www.dazhuanlan.com/2019/08/27/5d64b94f88de4/


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!