umask 解析

当最初登录到系统 中时,umask命令确定了你创建文件 的缺省模式。这一命令 实际上和chmod命令正好相反。你的系统管理 员必须要为你设置 一个合理的umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。
在已经登录之后,可以按照个人的偏好使用umask命令来改变文件创建的缺省权限。相应的改变直到退出该shell 或使用另外的umask命令之前一直有效。一般来说,umask命令是在/etc/profile文件中设置的 每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久性地设置自己的umask值,那么就把它在自己$HOME目录下的.profile或.bash_profile文件中

 
如何计算umask值
        umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6 。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限目录则允许设置执行权限,这样针对目录来说, umask中各个数字最大可以到7
      其使用方法有点类似于网络 上的子网掩码的作用,不同的是网络上的子网掩码是与 ip地址进行与运算 ,而umask后面所带的数和最大的权限值进行的是异或运算 例如,umask值002 所对应的文件和目录创建缺省权限分别为664和775。
 
说明:1 文件和目录是不一样的。
          2 异或运算的规律:均为0时,才为0;均为1时,也才会为0;如果一个为0,一个为1,则为1。eg:1100异或0101=1001(如果一个为0,一个为1,则为1;其它任何情况下都是0 )。
 

例如:

预设新增一个档案或目录的权限, 基本的权限是777代表rwxrwxrwx

假设umask设定为653, 基本权限与umask进行 XOR运算

         111 111 111 => rwxrwxrwx

XOR 110 101 011

         001 010 100  => r---w---x

阅读更多
文章标签: 网络 shell
个人分类: Linux嵌入式
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭