Linux命令(15)---umask

本文详细介绍了umask命令在Linux系统中的使用方式及其如何控制文件和目录的默认权限分配。通过具体的用户示例,展示了不同用户ID及组ID情况下umask值的变化,并解释了文件和目录权限计算的具体规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

umask命令

umask控制文件或目录默认权限分配的命令。

超级用户创建目录权限默认是755,创建文件默认权限是644。

这里写图片描述

用户的默认权限

如果用户的UID大于199,且id -gn、id -un相等,umask是002,否则umask是022。
这里写图片描述

超级用户root:
uid<199

[root@ianLinux ~]# umask
0022
[root@ianLinux ~]# id root
uid=0(root) gid=0(root) 组=0(root)
[root@ianLinux iantest]# id -gn
root
[root@ianLinux iantest]# id -un
root

普通用户Lisa:
uid>199 且且id -gn、id -un相等

[Lisa@ianLinux ~]$ umask
0002
[Lisa@ianLinux ~]$ id Lisa
uid=503(Lisa) gid=503(Lisa) 组=503(Lisa)
[Lisa@ianLinux ~]$ id -gn
Lisa
[Lisa@ianLinux ~]$ id -un
Lisa

普通用户IanB:

uid>199,但id -gn不等于id -un

[IanB@ianLinux ~]$ umask
0022
[IanB@ianLinux ~]$ id IanB
uid=502(IanB) gid=501(inhome) 组=501(inhome)
[IanB@ianLinux ~]$ id -gn
inhome
[IanB@ianLinux ~]$ id -un
IanB

文件权限的计算

基于文件的:当前文件权限为666-umask。

[root@ianLinux iantest]# ll
总用量 4
drwxr-xr-x 2 root root 4096 99 15:41 d755
-rw-r--r-- 1 root root    0 99 15:41 f644
[root@ianLinux iantest]# umask
0022

那么f644的rw-r–r–(644):666-umask(022)

[root@ianLinux iantest]# umask 044
[root@ianLinux iantest]# touch 044.log
[root@ianLinux iantest]# ll ftest 
-rw--w--w- 1 root root 0 99 16:21 044.log

那么044.log的rw–w–w-(622):666-umask(044)

[root@ianLinux iantest]# umask 032
[root@ianLinux iantest]# umask
0032
[root@ianLinux iantest]# touch 032.log
[root@ianLinux iantest]# ll 032.log
-rw-r--r-- 1 root root 0 99 16:27 032.log

按之前的算法此时666-032,032.log的权限应该是634,可是实际上032.log的权限为644。

所以如果umask的部分位或全部位为奇数,那么666-umask的文件权限位计算结果要在umask为奇数的位上再加1,这才是最终的文件权限值。
666
032-
010+
——–
644

基于目录的:当前目录权限777-umask。

[root@ianLinux iantest]# ls -ld d755
drwxr-xr-x 2 root root 4096 99 15:41 d755
[root@ianLinux iantest]# umask
0022

d755目录的权限为777-022。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值