umask & fmask & dmask
umask —— 设置目录和文件的权限过滤
fmask —— 设置文件的权限过滤
dmask —— 设置目录的权限过滤
dmask
和 fmask
是 mount
的选项,针对 fat/ntfs
文件系统,适用于 fstab
配置(linux
的 /etc/fstab
文件,Android
中没有)
不同于 chmod/chown
的权限值,它们三个是有 mask
——过滤的意思 ,以下是它们的对文件的读写权限:
0 1 2 3 4 5 6 7
r + + + + - - - -
w + + - - + + - -
x + - + - + - + -
其实这个结果是通过 mask = rwx - 文件权限
如设置文件为 0755
权限,那 么 mask
值则需为 0022
,即:0755=0777-0022
fstab
实例:
<file system> <mount point> <type> <options> <dump> <pass>
/dev/hda1 /media/win ntfs defaults,utf8,umask=111 0 0
其中:umask=111 ==> (777-111)=666=rw-rw-rw-
, 即文件拥有读写权限
可以重新设计更更严格的权限关系:dmask=022,fmask=133
即:f=755=rwxr-xr-x
, d=644=rw-r--r--
注意:其实 umask
可理解为关闭某些权限。可以使用 umask
命令改变一个文件的权限:
umask 查看当前目录的权限mask值
umask <mask> 设置当前的mask值
评论区