umask计算



将权限数字代表的位栏列出来进行对比判断
例如
umask 003  --- --- -wx
文件夹总权限777 文件总权限666
文件夹 rwx rwx rwx - --- --- -wx =rwx rwx r-- 774
文件   rw- rw- rw- - --- --- -wx =rw- rw- r-- 664


网上还有一种计算方法是转换为2进制然后对umask取反,再将两个2进制值做与运算,得到的二进制值再转换十进制,即为权限。

  1. 例如:  
  2. 666=0110 0110 0110  
  3. umask=000=0000 0000 0000 NOT运算 1111 1111 1111  
  4.   
  5. 0110 0110 0110  
  6. 1111 1111 1111  
  7. ------------------------------  
  8. 0110 0110 0110=666  
  9.   
  10. umask=011=0000 0001 0001 NOT运算 1111 1110 1110  
  11.   
  12. 0110 0110 0110  
  13. 1111 1110 1110  
  14. ------------------------------  
  15. 0110 0110 0110=666  
  16.   
  17. umask=022=0000 0010 0010 NOT运算 1111 1101 1101  
  18.   
  19. 0110 0110 0110  
  20. 1111 1101 1101  
  21. ------------------------------  
  22. 0110 0100 0100=644  
  23.   
  24. umask=033=0000 0011 0011 NOT运算 1111 1100 1100  
  25.   
  26. 0110 0110 0110   
  27. 1111 1100 1100  
  28. ------------------------------  
  29. 0110 0100 0100=644  



相比之下第一种方式更为简单直观

标签: linux

相关文章

评论已关闭