怎么更改配置文件的值umask值

umask命令详解
<span type="1" blog_id="637309" userid='
分享到朋友圈
好的文章,和好友一起分享linux(46)
创建新文件的权限UMASK
我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢? 答案是umask?
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。
如何计算umask值?
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。
对于文件来说,这一数字的最大值分别是6。
系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。
目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。
该命令的一般形式为:umask nnn (其中nnn为umask置000 - 777)
我们只要记住u m a s k是从权限中“拿走”相应的位即可。
如:umask值为022,则默认目录权限为755,默认文件权限为644。
下表是umask值与权限的对照表:
umask 文件 目录
--------------------
--------------------
umask一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置,由于profile的读取有一定的顺序:
/etc/profile-&$HOME/.profile-&$HOME/.bash_profile,所以在.profile里面设置的umask会被后面的profile覆盖了,推荐设置在$HOME/.bash_profile
umask 命令介绍
功能说明:指定在建立文件时预设的权限掩码。
语 法:umask [-S][权限掩码]
补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
-S 以文字的方式来表示权限掩码。
文件:用八进制基数666,即无x位(可执行位)rw- rw- rw-.执行位需由用户自行加入
例一:设要生成的文件以rw- r-- r--这样的权限字出现,即真实权限用八进制表示为644,则被666基数减得022,022即掩码。使用umask 022。
注:033效果与022一样,假设使用033掩码进行设置,则真实权限应为633即rw- r-x r-x ,但前提规定文件不生成x位,所以文件的权限最终将以rw-r--r--出现。
目录:用八进制基数777
例二:设要生成的目录权限以rwxr-xr-x这样的权限字出现,即真实权限用八进制表示为755,则被基数为777的权限字相减后,得掩码022。则使用umask 022进行设置。
掌握二个要点,一、文件基数为666,目录为777,即文件无设x位,目录可设x位。二、chmod是设哪个位,哪么哪个位就有权限,而umask是设哪个位,则哪个位上就没权限。
LINUX UMASK详解
一 权限掩码umask
umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)
二 umask的作用
默认情况下的umask值是022(可以用umask命令查看)
此时你建立的文件默认权限是644(6-0,6-2,6-2),
建立的目录的默认权限是755(7-0,7-2,7-2),
可以用ls -l验证一下哦 现在应该知道umask的用途了吧,
它是为了控制默认权限,不要使默认的文件和目录具有全权而设的
三 修改umask值
知道了umask的作用后,你可以修改umask的值了,例如:umask 024则以后建立的文件和目录的默认权限就为642,753了
四 将umask值保存到环境文件
若要长期修改umask的值,可以把它写进/etc/profile或~/.profile或~/.bash_profile中,大家应该知道这几个文件是干什么用的吧。
您知道当你建立一个新的档案或目录时,他的预设属性会是什么吗?呵呵!那就与 umask 有关了!那么 umask 是在搞什么呢?
基本上, umask 就是指定『目前使用者在建立档案或目录时候的属性默认值』,那么如何得知或设定 umask 呢?他的指定条件以底下的方式来指定:
[root @test root]# umask
[root@vbird test]# umask 002 &==后面接 3 个数字!
[root@vbird test]# umask
说明:查看 umask 数值为直接输入 umask 即可,而设定呢?没错!就是 umask 之后接三个数字!那么如何来指定呢?主要还是跟 Linux 的档案属性(那九个属性, r, w, x )有关的,而且是以分数的那一个关系为例的,而有底下的规则为辅:
若使用者建立为『档案』则预设『没有可执行 ( x ) 项目』,亦即只有 rw 这两个项目,也就是最大为 666 分
–rw-rw-rw-
若使用者建立为『目录』,则由于 x 与是否可以进入此目录有关,因此预设为所有权限均开放,亦即为 777 分
drwxrwxrwx
那么 umask 指定的是『该默认值需要减掉的权限!』因为 r、w、x 分别是 4、2、1 分,所以啰!也就是说,当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉执行与写入的权限,也就是 3 分,这样了解吗?请问您, 5 分是什么?呵呵!就是读与执行的权限啦!
如果以上面的例子来说明的话,因为 umask 为 002 ,所以 user, group 并没有被拿掉属性,不过 others 的属性被拿掉了 2 ( 也就是 w 这个属性 ),那么由于当使用者:
建立档案时:(-rw-rw-rw-) – (——–w-) ==& -rw-rw-r–
建立目录时:(drwxrwxrwx) – (——–w-) ==& drwxrwxr-x
不相信吗?你只要使用 touch test 然后看看这个 test 的档案属性,就可以知道了!那么如何看你这个使用者目前的 umask呢?直接下达 umask 即可!实作看看先:
[root@vbird test]# umask
[root@vbird test]# touch test1
[root@vbird test]# mkdir test2
[root@vbird test]# ls -l
-rw-rw-r– 1 root root 0 Oct 22 00:00 test1
drwxrwxr-x 2 root root 4096 Oct 22 00:00 test2/
发现了什么?呵呵! Test1 的属性为 666-002 = 664 !正确吗?是的!正确!而 test2 这个目录呢?就是 777-002 = 775 !也正确!
[root@vbird test]# umask 003
[root@vbird test]# touch test3
[root@vbird test]# mkdir test4
[root@vbird test]# ll
-rw-rw-r– 1 root root 0 Oct 22 00:03 test3
drwxrwxr– 2 root root 4096 Oct 22 00:03 test4/
嘿!属性又跟刚刚的不一样啰!仔细推敲一下为什么呦!test3 666-003 =663,这是怎么一回事?! 663 应该是 -rw-rw–wx 才对啊!怎么会是上面的属性!呵呵!这里就要特别的给他强调了!『尽量不要以数字相加减啦!』容易造成类似上面的问题!你应该要这样想(-rw-rw- rw-) – (——–wx)=-rw-rw-r–这样就对啦!了解了吗?不要用十进制的数字喔!够能力的话,用二进制来算,不晓得的话,用 rwx 来算喔!
由上面的例子您应该很轻易的就可以发现 umask 的用途!而这个 umask 可以在 /etc/bashrc 里面进行修改喔!预设的情况之下, root 的 umask 为 022 而一般使用者则为 002 ,因为可写的权限蛮严重的,因此预设都会拿掉这个权限!此外,因为 root 比较重要!所以为了安全的需求,其同群组的写入属性就被拿掉了!这东西对于安全性也有一定程度的贡献呦!
例如,对于u m a s k值0 0 2,相应的文件和目录缺省创建权限是什么呢?
第一步,我们首先写下具有全部权限的模式,即7 7 7 (所有用户都具有读、写和执行权限)。
第二步,在下面一行按照u m a s k值写下相应的位,在本例中是0 0 2。
第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。
稍加练习就能够记住这种方法。
第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即
这就是上面的例子,其中u m a s k值为0 0 2:
1) 文件的最大权限rwx rwx rwx (777)
2) umask值为0 0 2 – - – - – - -w-
3) 目录权限rwx rwx r-x (775) 这就是目录创建缺省权限
4) 文件权限rw- rw- r– (664) 这就是文件创建缺省权限
下面是另外一个例子,假设这次u m a s k值为0 2 2:
1) 文件的最大权限rwx rwx rwx (777)
2 ) u m a s k值为0 2 2 – - – -w- -w-
3) 目录权限rwx r-x r-x (755) 这就是目录创建缺省权限
4) 文件权限rw- r– r– (644) 这就是文件创建缺省权限umask值与Linux中文件和目录权限的关系
时间: 23:08:59
&&&& 阅读:244
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&umask值与文件和目录的权限1.1 -R参数设置目录权限(chmod)650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/92/E8/wKioL1kE0rqgJo_gAAJVm7FRtqw248.png" title="QQ图片29.png" alt="wKioL1kE0rqgJo_gAAJVm7FRtqw248.png" />1.2 权限字母说明1.3umask说明1、umask的值决定着文件和目录的权限,创建文件默认最大权限为666(-rw-rw-rw-),默认创建的文件没有可执行权限x位。2、对于文件来说,umask的设置是在假定文件拥有八进制666的权限上进行的,文件的权限就是666减去umask(umask的各个位数字也不能大于6,如,077就不符合条件)的掩码数值;重点在接下来的内容,如果umask的部分位或全部位为奇数,那么,在对应为奇数的文件权限位计算结果分别再加1就是最终文件权限值。创建目录默认最大权限777(-rwx-rwx-rwx),默认创建的目录属主是有x权限,允许用户进入。对于目录来说,umask的设置是在假定文件拥有八进制777权限上进行,目录八进制权限777减去umask的掩码数;3、umask越小,文件和目录的权限越大,默认的umask值为022,即在主和组都是root时,文件和目录的权限为644(-rw-r--r--)和755(drwxr-xr-x);4、先设置umask的值,如umask 222 然后再mkdir d222,touch f222,然后再ll=ls -l,这样umask值才会生效;5、umask值的控制脚本6、umask博文网址 1.4通过umask值读取文件和目录权限的三种方法1.4.1加减法推算(简单好用,推荐)文件权限的一般计算方法:
默认文件权限计算方法
1)假设umask值为:022(所有位为偶数)
6&66&&&&&==&文件的起始权限值
0&2&2-&&&&==&umask的值
2)假设umask值为:045(其他用户组位为奇数)
6&66&&&&&==&文件的起始权限值
0&4&5-&&&&==&umask的值
6&21&&&==&计算出来的权限。由于umask的最后一位数字是5,所以,在其他用户组位再加1。
622&==&真实文件权限
默认目录权限计算方法
&7&77&&&&&==&目录的起始权限值
&0&22&-&&&&==&umask的值
&7&55如图&&&&&& &实例1-1:umask所有位全为偶数时[&oldboy]#&umask
0022&#→umask当前数值
[&oldboy]#&umask&044&#→更改为044
[&oldboy]#&umask
[&oldboy]#&mkdir&umask_test&#→建目录测试
[&oldboy]#&ls&-ld&umask_test
drwx-wx-wx&2&root&root&4096&Nov&12&19:21&umask_test#→对应数字权限为733,是不是符合上面的计算方法?
[&oldboy]#&touch&umask_test.txt
[&oldboy]#&ls&-l&umask_test.txt
-rw--w--w-&1&root&root&0&Nov&12&19:21umask_test.txt&#→对应数字权限为622,是不是符合上面的计算方法&实例1-2umask值的部分或全部位为奇数时[&oldboy]#&umask&0023
[&oldboy]#&mkdir&dir
[&oldboy]#&touch&file
[&oldboy]#&ls&-l
drwxr-xr--&2&root&root&&01:04&dir&&#→对应数字权限为754
-rw-r--r--&1&root&root&&&&0&11-15&01:04&file&#→对应数字权限为644
提示:根据前面的计算方法,当umask为0023时,dir的权限应该是754,而file的权限应该为643,但是由于umask的其他组位为奇数,因此最终权限为其他组位加1,即643加001(对应实践结果644)。注意:umask为偶数的位不要加1实例1-3umask值的所有位为奇数时[&oldboy]#&umask&0551
[&oldboy]#&umask
umask&为0551&根据掩码方法计算:目录权限为226,文件权限115,而实际文件权限为226(umask的三个权限位都是奇数,所以,每个位分别加1就是正确的权限)
[&oldboy]#&mkdir&dir5
[&oldboy]#&touch&file5
[&oldboy]#&ls&-l
d-w--w-rw-&2&root&root&&01:27&dir5&&#→目录对应数字权限为226
--w--w-rw-&1&root&root&&&&0&11-15&01:27&file5&#→目录对应数字权限为226
再来一例验证下:
[&oldboy]#&umask&0333
[&oldboy]#&umask
umask&为0333&根据掩码方法计算:目录权限为444,文件权限333,而实际文件权限为444(umask的三个位都是奇数,所以,每个位分别加1就是正确的权限)
[&oldboy]#&mkdir&dir3
[&oldboy]#&touch&file3
[&oldboy]#&ls&-l|grep&3
dr--r--r--&2&root&root&&01:30&dir3&&#→目录对应数字权限为444
-r--r--r--&1&root&root&&&&0&11-15&01:30&file3&#→目录对应数字权限为4441.4.2 通过8进制字母符号计算[]#&umask&551
umask值为551,对应的权限为-r-xr-x--x,即所有的文件和目录都取消权限中的-r-xr-x--x权限。
文件权限:【-rw-rw-rw-】-【-r-xr-x--x】=【--w--w--rw-】=226(文件的x位上没有x,就不用取消了)
目录权限:【-rwxrwxrwx】-【-r-xr-x--x】=【--w--w--rw-】=226(目录的x位上有x,直接取消即可)
继续拿前面的例子验证:
[]#&umask&333
umask值为333,对应的权限为-wx-wx-wx,即所有的文件和目录都取消权限中的-wx-wx-wx权限。
文件权限:【-rw-rw-rw-】-【-wx-wx-wx】=【-r--r--r--】=444(文件的x位上没有x,就不用取消了)
目录权限:【-rwxrwxrwx】-【-wx-wx-wx】=【-r--r--r--】=444(目录的x位上有x,直接取消即可)1.4.3 通过二进制方法计算(二进制转换软件)0022
0&&&&2&&&2&&&&&&
----------&&&&#→八进制转换二进制
0&&&&10&&&10
说明:把umask值八进制转换成二进制
6&&&&6&&&&6
------------&&#→八进制转换二进制
110&110&&110
说明:把文件默认最大权限值八进制转换成二进制
&&0&&10&&10&&&&&&#→umask二进制
-------------&&&&&&#→与运算
110&110&&110&&&&&&#→文件最大权限二进制
-------------
000&010&&010
-------------&&&&&&#→转换八进制
&&0&&2&&&2
说明:最后得到的值是022,然后使用666减去022,那么文件的创建权限就是644
[]#&umask&551
5&&&&5&&&&&1
-------------&&&&&&#→转换二进制
101&&101&001&&&&&#→umask二进制
-------------&&&&&&#→与运算
110&&110&&110&&&&&&#→文件最大权限二进制
-------------&&&&&
100&&100&&000
-------------&&&&&&#→转换八进制
4&&&&4&&&&0
说明:最后得到的值是440,然后使用666减去440,那么文件的创建权限就是226。1.5 企业各服务器之间的权限说明标签:&&&&&&&&&&&&原文地址:http://dakaige517.blog.51cto.com/0813
&&国之画&&&& &&&&chrome插件&&
版权所有 京ICP备号-2
迷上了代码!> 博客详情
创建新文件的权限UMASK
我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢? 答案是umask?&&
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。
如何计算umask值?
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。
对于文件来说,这一数字的最大值分别是6。
系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。
目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。
该命令的一般形式为:umask nnn (其中nnn为umask置000 - 777)
我们只要记住u m a s k是从权限中“拿走”相应的位即可。
如:umask值为022,则默认目录权限为755,默认文件权限为644。
下表是umask值与权限的对照表:
umask 文件 目录
--------------------
--------------------
umask一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置,由于profile的读取有一定的顺序:
/etc/profile-&$HOME/.profile-&$HOME/.bash_profile,所以在.profile里面设置的umask会被后面的profile覆盖了,推荐设置在$HOME/.bash_profile
umask 命令介绍
功能说明:指定在建立文件时预设的权限掩码。
语 法:umask [-S][权限掩码]
补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
-S 以文字的方式来表示权限掩码。
文件:用八进制基数666,即无x位(可执行位)rw- rw- rw-.执行位需由用户自行加入
例一:设要生成的文件以rw- r-- r--这样的权限字出现,即真实权限用八进制表示为644,则被666基数减得022,022即掩码。使用umask 022。
注:033效果与022一样,假设使用033掩码进行设置,则真实权限应为633即rw- r-x r-x ,但前提规定文件不生成x位,所以文件的权限最终将以rw-r--r--出现。
目录:用八进制基数777
例二:设要生成的目录权限以rwxr-xr-x这样的权限字出现,即真实权限用八进制表示为755,则被基数为777的权限字相减后,得掩码022。则使用umask 022进行设置。
掌握二个要点,一、文件基数为666,目录为777,即文件无设x位,目录可设x位。二、chmod是设哪个位,哪么哪个位就有权限,而umask是设哪个位,则哪个位上就没权限。
LINUX UMASK详解
一 权限掩码umask
umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)
二 umask的作用
默认情况下的umask值是022(可以用umask命令查看)
此时你建立的文件默认权限是644(6-0,6-2,6-2),
建立的目录的默认权限是755(7-0,7-2,7-2),
可以用ls -l验证一下哦 现在应该知道umask的用途了吧,
它是为了控制默认权限,不要使默认的文件和目录具有全权而设的
三 修改umask值
知道了umask的作用后,你可以修改umask的值了,例如:umask 024则以后建立的文件和目录的默认权限就为642,753了
四 将umask值保存到环境文件
若要长期修改umask的值,可以把它写进/etc/profile或~/.profile或~/.bash_profile中,大家应该知道这几个文件是干什么用的吧。
您知道当你建立一个新的档案或目录时,他的预设属性会是什么吗?呵呵!那就与 umask 有关了!那么 umask 是在搞什么呢?
基本上, umask 就是指定『目前使用者在建立档案或目录时候的属性默认值』,那么如何得知或设定 umask 呢?他的指定条件以底下的方式来指定:
[root @test root]# umask
[root@vbird test]# umask 002 &==后面接 3 个数字!
[root@vbird test]# umask
说明:查看 umask 数值为直接输入 umask 即可,而设定呢?没错!就是 umask 之后接三个数字!那么如何来指定呢?主要还是跟 Linux 的档案属性(那九个属性, r, w, x )有关的,而且是以分数的那一个关系为例的,而有底下的规则为辅:
若使用者建立为『档案』则预设『没有可执行 ( x ) 项目』,亦即只有 rw 这两个项目,也就是最大为 666 分
–rw-rw-rw-
若使用者建立为『目录』,则由于 x 与是否可以进入此目录有关,因此预设为所有权限均开放,亦即为 777 分
drwxrwxrwx
那么 umask 指定的是『该默认值需要减掉的权限!』因为 r、w、x 分别是 4、2、1 分,所以啰!也就是说,当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉执行与写入的权限,也就是 3 分,这样了解吗?请问您, 5 分是什么?呵呵!就是读与执行的权限啦!
如果以上面的例子来说明的话,因为 umask 为 002 ,所以 user, group 并没有被拿掉属性,不过 others 的属性被拿掉了 2 ( 也就是 w 这个属性 ),那么由于当使用者:
建立档案时:(-rw-rw-rw-) – (——–w-) ==& -rw-rw-r–
建立目录时:(drwxrwxrwx) – (——–w-) ==& drwxrwxr-x
不相信吗?你只要使用 touch test 然后看看这个 test 的档案属性,就可以知道了!那么如何看你这个使用者目前的 umask呢?直接下达 umask 即可!实作看看先:
[root@vbird test]# umask
[root@vbird test]# touch test1
[root@vbird test]# mkdir test2
[root@vbird test]# ls -l
-rw-rw-r– 1 root root 0 Oct 22 00:00 test1
drwxrwxr-x 2 root root 4096 Oct 22 00:00 test2/
发现了什么?呵呵! Test1 的属性为 666-002 = 664 !正确吗?是的!正确!而 test2 这个目录呢?就是 777-002 = 775 !也正确!
[root@vbird test]# umask 003
[root@vbird test]# touch test3
[root@vbird test]# mkdir test4
[root@vbird test]# ll
-rw-rw-r– 1 root root 0 Oct 22 00:03 test3
drwxrwxr– 2 root root 4096 Oct 22 00:03 test4/
嘿!属性又跟刚刚的不一样啰!仔细推敲一下为什么呦!test3 666-003 =663,这是怎么一回事?! 663 应该是 -rw-rw–wx 才对啊!怎么会是上面的属性!呵呵!这里就要特别的给他强调了!『尽量不要以数字相加减啦!』容易造成类似上面的问题!你应该要这样想(-rw-rw- rw-) – (——–wx)=-rw-rw-r–这样就对啦!了解了吗?不要用十进制的数字喔!够能力的话,用二进制来算,不晓得的话,用 rwx 来算喔!
由上面的例子您应该很轻易的就可以发现 umask 的用途!而这个 umask 可以在 /etc/bashrc 里面进行修改喔!预设的情况之下, root 的 umask 为 022 而一般使用者则为 002 ,因为可写的权限蛮严重的,因此预设都会拿掉这个权限!此外,因为 root 比较重要!所以为了安全的需求,其同群组的写入属性就被拿掉了!这东西对于安全性也有一定程度的贡献呦!
例如,对于u m a s k值0 0 2,相应的文件和目录缺省创建权限是什么呢?
第一步,我们首先写下具有全部权限的模式,即7 7 7 (所有用户都具有读、写和执行权限)。
第二步,在下面一行按照u m a s k值写下相应的位,在本例中是0 0 2。
第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。
稍加练习就能够记住这种方法。
第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即
这就是上面的例子,其中u m a s k值为0 0 2:
1) 文件的最大权限rwx rwx rwx (777)
2) umask值为0 0 2 – - – - – - -w-
3) 目录权限rwx rwx r-x (775) 这就是目录创建缺省权限
4) 文件权限rw- rw- r– (664) 这就是文件创建缺省权限
下面是另外一个例子,假设这次u m a s k值为0 2 2:
1) 文件的最大权限rwx rwx rwx (777)
2 ) u m a s k值为0 2 2 – - – -w- -w-
3) 目录权限rwx r-x r-x (755) 这就是目录创建缺省权限
4) 文件权限rw- r– r– (644) 这就是文件创建缺省权限
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥}

我要回帖

更多关于 配置文件配置cron的值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信