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值


评论区