zoukankan      html  css  js  c++  java
  • linux命令umask的使用

    在Linux中,当一个新文件被创建时,系统默认的权限为rw-rw-rw-,对所有用户而言新文件没有执行权限,如果想要添加所有用户的执行权限可以使 用"$chomd u+x,g+x,o+x filename"来实现,但如果用gcc命令将某源文件编译链接生成一个新的可执行文件,那它是有执行权限的。系统默认创建新目录也有可执行权限。

    使 用umask命令可以将屏蔽掉用户创建文件时不希望有的权限,实现所谓的"mask"功能,比如说,我们常用的022,相应二进制码为000 010 010 即将第5位和第8位mask掉,这时如果新建一个文件,再用ls -l命令列出来可以看到其权限为rw-r--r--,第5位和第8位的w权限被mask掉了。系统在新建文件时先赋予默认权限rw-rw-rw-,再将 umask取反,然后将结果与默认权限按位相与,得到最终权限,这是umask作用的实质。

    下面举几个例子:
    1、umask 000
       对所有位都不屏蔽,新建文件和文件夹均为默认权限(文件夹为rwxrwxrwx,文件为rw-rw-rw-)
    2、umask 777
        屏蔽所有位
    3、umask u=,g=w,o=
       修改umask的值,使得u和o没有任何权限,g只有w权限,这是umask除了第五位,其他全屏蔽,应该为 111101111,即757
    4、umask u=rw,og=x
       修改umask的值,使得o和g只有x权限,u有rw权限,这时umask应为001110110,即166
    5、umask u=rwx,g=w,o=rwx
       修改umask的值,使得u有rwx权限,g有w权限,o有rwx权限,这是umask为000101000,即050
       

    可以用命令$umask xxx(八进制数)来修改当前umask的值,但下次登录系统会重新改回022,如果想永久修改,可以在/etc/profile中将umask改成你想要的值。

  • 相关阅读:
    Anaconda的安装和更新
    Python数据分析学习目录
    国标28181sip开源库介绍(陆续补充完备)
    开源sip server & sip client 和开发库 一览
    几种开源SIP协议栈对比
    用TCP穿透NAT(TCP打洞)的实现
    使用TCP协议的NAT穿透技术
    TCP点对点穿透探索--失败
    snmp++开发实例一
    socket跟TCP/IP 的关系,单台服务器上的并发TCP连接数可以有多少
  • 原文地址:https://www.cnblogs.com/yinzhenyuan/p/3031260.html
Copyright © 2011-2022 走看看