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值