曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 2736|回复: 0
打印 上一主题 下一主题

umask -- 设置权限掩码

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2013-5-4 15:10:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
umask 是 shell 内置命令,它用来设置权限掩码,其使用语法为:mask [mask]

一个文件的最终权限是由默认权限减去其掩码得来。

对于目录,默认的权限是 777 ,而一般文件则是目录的权限去掉可执行权限所得,也就是 666 。

对于普通用户而言,默认的掩码为 002 ,于是有目录的权限为 777 - 002 = 775 ;而一般文件的权限为 666 - 002 = 664 。

对于 root 而言,默认的掩码为 022 ,于是有目录的权限为 777 - 022 = 755 ;而一般文件的权限为 666 - 022 = 644 。

直接运行 umask ,就会打印出八进制表示的掩码值:
$ umask
0002
有人会问,0002 和 002 有什么不同?为什么前面多了个 0 ,答案是它们是一样,多出一个 0 是用来表示 SUID/SGID/Stick位  的。

可以使用 -S 选项以字符的形式打印出来:
$ umask -S
u=rwx,g=rwx,o=rx

举例:
$ umask 022
$ umask
0022
$ touch my.txt
$ mkdir mydir
$ ls -ld mydir/
drwxr-xr-x. 2 beyes beyes 4096 Mar  8 15:31 mydir/
$ ll my.txt
-rw-r--r--. 1 beyes beyes 0 Mar  8 15:31 my.txt
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 20:29 , Processed in 0.073400 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表