在unix或者linux中,每创建一个文件或者目录时,这个文件或者目录都具有一个默认的权限,比如目录755,文件644,那么这些默认权限是怎么控制的呢?

答案是“umask”权限掩码。一般默认的umask值为022,其最终效果就是新创建的目录权限为755,文件权限为644。所以只要修改了用户的umask值,就可以控制默认权限。

怎么查看当前umask值?

umask

0022

umask -S  (SuSE Linux Enterprise 11实例)

u=rwx,g=rx,o=rx

怎么根据实际需要设置umask值?

其实umask是权限的反码,你可以根据文件或者目录权限的数字表示值计算得到。

目录:7- 权限数字

文件:目录权限去掉执行权限(不要使用目录权限减1,否则本来就没有执行权限还要减1就搞错了)

如果您希望新建目录的默认权限为755,那么可以设置umask值为:

7-7=0    7-5=2    7-5-2     即022

此时文件的权限为目录权限去掉执行权限,即644。

常见权限掩码示例

umask

目录

文件

022

755

644

027

750

640

002

775

664

006

771

660

007

770

660

怎么修改umask值?

umask  三位数字(每位数字只能是1-7中的任一数字)

示例:

umask 022

执行该命令只能使得本次登录有效,如果退出本次登录,下次不会有作用。

怎么让umask值在用户每次登录后都有效?

将umask命令语句放到用户环境变量profile文件中。

修改所有用户的umask值

在/etc/profile中增加语句umask nnn(权限掩码数字)

修改指定用户的umask值

根据不同的shell,修改不同的配置文件,在其中增加语句umask nnn(权限掩码数字),重新登录即可生效。

Bourne Shell (sh):$HOME/.profile

Korn Shell (ksh):$HOME/.profile

C Shell (csh): $HOME/.login

Bourne Again Shell(bash):它会在用户目录$HOME下依次查找.bash_profile,.bash_login,.profile文件,并用找到的第一个作为自己的配置文件,因此根据实际环境修改相应的文件。

转自:http://www.wo81.com/tec/os/syscmpr/2014-05-03/197.html

如何设置UNIX/Linux中新创建目录或文件的默认权限的更多相关文章

  1. Linux 设置新创建目录或文件的默认权限

    一.简介 在unix或者linux中,每创建一个文件或者目录时,这个文件或者目录都具有一个默认的权限,比如目录755,文件644,这些默认权限是通过"umask"权限掩码控制的.一 ...

  2. Linux—用户新建目录和文件的默认权限设置:umask详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   我们有没有思考过一个问题,在登录Linux系统后,我们创建的目录或者文件的权限,为什么每次创建都是统一的?我们做以下实验:新建一 ...

  3. Linux创建目录和文件的默认权限设置

    这两天,项目中使用jenkins自动构建系统时遇到了在Linux中创建目录和文件的权限问题,临时的解决办法是在脚本中增加了chmod赋权限命令; 偶然想到Linux应该是可以设置默认权限的,故学习了一 ...

  4. [转]unix/linux中的dup()系统调用

    [转]unix/linux中的dup()系统调用    在linux纷繁复杂的内核代码中,sys_dup()的代码也许称得上是最简单的之一了,但是就是这么一个简单的系统调用,却成就了unix/linu ...

  5. Linux中/proc目录下文件详解

    转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...

  6. Linux中/proc目录下文件详解(转贴)

      转载:http://www.sudu.cn/info/index.php?op=article&id=302529   Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...

  7. Linux中如何产生core文件?

      在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数.   1.core文件 ...

  8. linux中增加swap分区文件的步骤方法

     一.swap交换分区 Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临 ...

  9. linux中的用户、群组和权限

     linux中的用户.群组和权限   新建用户natasha,uid为1000,gid为555,备注信息为“master”   groupadd -g 555 natasha useradd -u 1 ...

随机推荐

  1. NGUI Scroll List

    NGUI Scroll List 1.Add GameObject with Script UI Panel(NGUI -> UI -> NGUI Panel) and Script UI ...

  2. MVC5与EF6 Code First 第一个入门完整实例教程

    mvc如今火的不行,我今天就来介绍一个MVC5与EF6开发的实际的入门实例,因为EF6默认是Code First的,所以我今天也就用EF6 的Code First来做一个简单的实例,为了让实例显得简单 ...

  3. Oracle错误:动态执行表不可访问,本会话自动统计被禁止,关闭自动统计之后的问题

    使用PL/SQL时, 每次第一次打开表的时候会提示"动态执行表不可访问,本会话的自动统计被禁止"的错误,一消息如下: V$SESSION,V$SESSTAT,V$STATNAME没 ...

  4. iPhone/iPad/Android UI尺寸规范

    iPhone界面尺寸

  5. 解决cocopods不提示第三方库名字的方法

    在使用第三方类库时,使用cocoaPods是非常方便的,具体使用方法可以参考:CocoaPods安装和使用教程 的安装使用方法.今天讨论的问题是,我在使用的时候遇到了一些问题:用cocoaPod si ...

  6. Nodejs学习笔记(一)--- 简介及安装Node.js开发环境

    目录 学习资料 简介 安装Node.js npm简介 开发工具 Sublime Node.js开发环境配置 扩展:安装多版本管理器 学习资料 1.深入浅出Node.js http://www.info ...

  7. 实现手机扫描二维码页面登录,类似web微信-第一篇,业务分析

    转自:http://www.cnblogs.com/fengyun99/p/3541249.html 关于XMPP组件的文章,先休息两天,好歹已经完整的写了一份. 这两天,先实现一套关于web微信扫描 ...

  8. JVM-类加载机制

    虚拟机类加载机制  虚拟机把描述的类的数据从class文件加载到内存后,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制.  类加载的时机 类被 ...

  9. cassandra 环境搭建

    1 下载安装包 http://www.planetcassandra.org/cassandra/?dlink=http://downloads.datastax.com/community/dsc- ...

  10. viewPager动态加载listview数据

    废话不多说,先上效果图.(代码见附件) 代码是修改自某大神的,我做了很多修改,之前只能向右滑动,现在可以左右无限滑动,只要数据没加载完就可以一直滑动.过程不算复杂,代码主要的地方都有注释. 附件dem ...