码迷,mamicode.com
首页 > 系统相关 > 详细

Linux学习-umask详解

时间:2018-01-21 22:42:50      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:hang   特殊   pad   any   出现   ***   val   分析   group   

umask --表示创建文件时的默认权限(即创建文件时不需要设置而天生的权限)




    例如:我们发现

         root用户下,touch a ,文件a的默认权限是644

         普通用户下,touch b ,文件b的默认权限是664 

          644和664我们并没有设置,其中的关键因素就是umask

    分析:


           目录             文件
 最高权限        777   rwxrwxrwx
          666   rw-rw-rw-

      命令umask可以查看当前用户的umask值   (查看umask只看后三位,总共是4位)


           root            普通用户
umask           022               002  


    结合上述的举例得知:

        默认权限=最高权限-umask( 644=666-022 // 664=666-002 )

   但是: 

         当umask为011,创建文件的默认权限应该是655,但是实际运行的时候默认权限是 666

         666 -> rw-rw-rw-

         011 -> -----x--x

       相减得:

         666 <- rw-rw-rw-

  (这个特殊情况仅出现在文件,因为文件[二进制文件除外]没有x执行权限)

  所以,查看文件的umask时我们要特别注意是否有奇数位(x表示1)


    umask + 数值 修改当前用户的umask 如:umask 044

       不过这样设置的umask会在用户重新登录的时候恢复原来的值,我们可以把修改的umask保存在~/.bashrc

***************************

    vim ~/.bashrc

    在文件末尾添加umask 044

    保存退出 

    重新登录用户则保存成功

***************************



案例:

    刘关张三兄弟都属于shu这个附加用户组,有一个共享目录,叫shuguo,三兄弟在shuguo下所创建的文件,相互之间可以修改.其他人无任何权限,三兄弟创建的文件,只能自己删除.(利用umask值默认设置权限)

    groupadd shu

    useradd -G shu liubei

    useradd -G shu guanyu

    useradd -G shu zhangfei

    mkdir shuguo 

    chgrp shu shuguo/    /*shuguo目录所属组改成shu*/ 

    chmod g+s shuguo/    /*使刘关张创建的文件属于shu*/

    chmod o+t shuguo/    /*使刘关张创建的文件只能自己删除*/

    chmod g+w shuguo/    /*使刘关张可以修改和执行shuguo下的文件*/

    umask 006


Linux学习-umask详解

标签:hang   特殊   pad   any   出现   ***   val   分析   group   

原文地址:http://blog.51cto.com/13570193/2063472

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!