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改成你想要的值。

  • 相关阅读:
    锁表
    vs2010宏的应用
    Oracle:sqlplus查询出的中文是乱码问题的解决(转)
    linux下查看端口和服务的一些命令
    netsh
    xpshutdown关机命令详解
    linux系统如何察看、修改系统时间
    delphi编程中调用其他执行程序?(转)
    如何修改Oracle用户密码的诀窍(转)
    转:用Delphi实现从Excel数据Update(Insert类似)到Oracle数据库表中
  • 原文地址:https://www.cnblogs.com/yinzhenyuan/p/3031260.html
Copyright © 2011-2022 走看看