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值
posted on 2017-08-27 11:55  BeyondFeng  阅读(4035)  评论(0编辑  收藏  举报