Linux中umask的使用方法
2017-06-09 22:26
246 查看
在Linux下新建文件和目录的时候,不用我们去手动设置权限,就会有一个默认的权限。这个默认权限就是根据其本身最大权限和umask计算而来的。
创建文件默认最大权限为666 (-rw-rw-rw-),默认创建的文件没有可执行权限x位。
创建目录默认最大权限为777(-rwxrwxrwx),默认创建的目录有x权限,允许用户进入。
那什么是umask呢?
umask就是配合最大权限计算出默认权限的东西。
直接输入umask可以查询操作系统的umask值,默认的一般是0022。我的是0002。
这个umask也可以根据需要自己设置的。命令也很简单,比如 umask 0003。
主要看后三位022,w对应的是2,这就意味着文件的默认权限就是- rw- r- -r- - (644)。可见就是文件的最大权限里面去掉w权限,因为所有者user对应的数字是0,所以user权限不变。
同理,目录的默认权限也是最大权限去掉022,也就是drwx r-x r-x (755) 。
由umask的含义知拿掉4(666拿掉004),即拿掉了others的r权限(4),所以创建的0004file文件中others的权限即为-w-,也就是2了。
设置umask为0005的情况:
由umask的含义知拿掉5(666拿掉005),即拿掉了others的r权限(4)和x权限(1),但是默认创建的文件没有可执行权限x位,这时候就忽略x。所以创建的0005file文件中others的权限即为-w-,也就是2了。
对于文件来说,如果umask有去掉x权限,则系统按正常情况去掉相应权限;
对于目录来说,则不存在这样的情况。
创建文件默认最大权限为666 (-rw-rw-rw-),默认创建的文件没有可执行权限x位。
创建目录默认最大权限为777(-rwxrwxrwx),默认创建的目录有x权限,允许用户进入。
那什么是umask呢?
umask就是配合最大权限计算出默认权限的东西。
直接输入umask可以查询操作系统的umask值,默认的一般是0022。我的是0002。
这个umask也可以根据需要自己设置的。命令也很简单,比如 umask 0003。
主要看后三位022,w对应的是2,这就意味着文件的默认权限就是- rw- r- -r- - (644)。可见就是文件的最大权限里面去掉w权限,因为所有者user对应的数字是0,所以user权限不变。
同理,目录的默认权限也是最大权限去掉022,也就是drwx r-x r-x (755) 。
Why?设置umask为0004与0005时,创建的文件默认权限都是一样的
设置umask为0004的情况:由umask的含义知拿掉4(666拿掉004),即拿掉了others的r权限(4),所以创建的0004file文件中others的权限即为-w-,也就是2了。
设置umask为0005的情况:
由umask的含义知拿掉5(666拿掉005),即拿掉了others的r权限(4)和x权限(1),但是默认创建的文件没有可执行权限x位,这时候就忽略x。所以创建的0005file文件中others的权限即为-w-,也就是2了。
结论:
对于文件来说,如果umask没有去掉x权限,则系统自动处理掉x权限;对于文件来说,如果umask有去掉x权限,则系统按正常情况去掉相应权限;
对于目录来说,则不存在这样的情况。
相关文章推荐
- Linux学习随手记(1) find命令的最简单的使用方法
- linux和windows不同OS环境下VNC的使用方法(20060111)
- umask使用方法
- Linux操作系统下Screen命令的简单使用方法
- linux 内核进程与用户进程的通信 方法一 使用sockopt与内核交换数据
- linux下SSH配合SecureCRT的密匙完美使用方法
- Linux压缩打包命令使用方法
- Linux编辑器vi使用方法详细介绍
- Linux压缩打包命令使用方法
- linux下perforce(p4)的使用方法和命令
- Linux操作系统打包命令使用方法
- Linux中fdisk分区使用方法
- Linux压缩打包命令使用方法
- linux环境sqlplus中使用backspace键出现乱码的解决方法
- Linux 2.4 内核中iptables的使用方法
- 在LINUX中使用外设方法
- Linux:挂接(mount)命令的使用方法
- 常见linux命令使用方法
- JProfiler在Linux下的正确使用方法
- linux下用gcc编译使用了math库函数的程序出错的解决方法