如何设置UNIX/Linux中新创建目录或文件的默认权限
在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值在用户每次登录后都有效?
将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中新创建目录或文件的默认权限的更多相关文章
- Linux 设置新创建目录或文件的默认权限
一.简介 在unix或者linux中,每创建一个文件或者目录时,这个文件或者目录都具有一个默认的权限,比如目录755,文件644,这些默认权限是通过"umask"权限掩码控制的.一 ...
- Linux—用户新建目录和文件的默认权限设置:umask详解
关注微信公众号:CodingTechWork,一起学习进步. 引言 我们有没有思考过一个问题,在登录Linux系统后,我们创建的目录或者文件的权限,为什么每次创建都是统一的?我们做以下实验:新建一 ...
- Linux创建目录和文件的默认权限设置
这两天,项目中使用jenkins自动构建系统时遇到了在Linux中创建目录和文件的权限问题,临时的解决办法是在脚本中增加了chmod赋权限命令; 偶然想到Linux应该是可以设置默认权限的,故学习了一 ...
- [转]unix/linux中的dup()系统调用
[转]unix/linux中的dup()系统调用 在linux纷繁复杂的内核代码中,sys_dup()的代码也许称得上是最简单的之一了,但是就是这么一个简单的系统调用,却成就了unix/linu ...
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- Linux中/proc目录下文件详解(转贴)
转载:http://www.sudu.cn/info/index.php?op=article&id=302529 Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...
- Linux中如何产生core文件?
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数. 1.core文件 ...
- linux中增加swap分区文件的步骤方法
一.swap交换分区 Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临 ...
- linux中的用户、群组和权限
linux中的用户.群组和权限 新建用户natasha,uid为1000,gid为555,备注信息为“master” groupadd -g 555 natasha useradd -u 1 ...
随机推荐
- 鼠标点击输入框文字消失 value placeholder 以及JQ实现效果 (仿京东的输入框效果)
鼠标点击输入框文字消失 value实现方法 placeholder实现方法 以及JQ实现placeholder效果 <input type="text" value ...
- centos apache源码安装过程记录
1.下载相关源文件 wget http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.4.18.tar.gzwget http://mirrors.hust.ed ...
- android 导入自己的生成的jar,老是 could not find class
最近开始学习android,开发一个小项目,功能很简单,就是从服务器上获取数据,之后显示在手机上.打算把访问服务器的功能打包成一个jar文件.然后android 引入jar包. 在eclipse 里 ...
- PHP自动发邮件
自动发邮件 使用了这个类http://bbs.php100.com/read-htm-tid-121431.html 因他用的php版本较老,用到了函数ereg_replace() 和 ereg() ...
- angularJS 报错: [ngModel:numfmt] http://errors.angularjs.org/1.4.1/ngModel/numfmt?p0=333
<!doctype html> <html ng-app="a10086"> <head> <meta charset="utf ...
- [原创]C#按比例缩放窗体控件及字体
按照比例缩放窗体控件及字体,如需等比例缩放,只需将x,y的比例设置成相同即可. 为了减小误差,建议使用原始尺寸来计算比例. private float X, Y; private bool b = f ...
- mongostat 3.2指标详解
存储引擎:wiredTiger /usr/local/mongodb-3.2.8/bin/mongostat -uroot -pcEqHuoqiJYhjVpuL --host 127.0.0.1 ...
- 介绍开源的.net通信框架NetworkComms框架之五 心跳检测
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- 什么是Angular? 我们为什么要学习它?
在我更新Ionic的时候有人问我什么是 Angular,我们为什么要学习它啊?这个是我的疏忽了,在没有告诉你们什么是 Angular 的时候就让大家着手去学习 Ionic .那么今天就让我们认识一下什 ...
- 黑马程序员——OC语言 三大特性之继承
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之继承 (一)继承的基本用法 先建立个Animal再用Dog继承前 ...