chmod命令和umask命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了chmod命令和umask命令相关的知识,希望对你有一定的参考价值。

linux中为了方便更改属主属组的权限,可以用数字去代替rwx。r=4,w=2,x=1,-=0.

-rwx r-x r--用数字表示就是764.

chmod的语法: chmod [-R] xxx 文件名 (xxx就是数字)

或者     : chmod u+w g-w o+x

       : chmod u=rwx go=rw

例子:chmod 750 111.txt

-R选项的作用是级联更改。

在linux系统中,默认的目录权限是755,文件的默认权限是644


umask命令

在linux系统中,目录和文件的权限是由谁规定的呢?这就涉及到umask

umask语法:umask xxx  (xxx是数字)

查看umask值:

[[email protected] ~]# umask
0022
[[email protected] ~]#

可以看到umask的预设是0022。


规则:

  1. 用户创建普通文件的话,预设条件只有可读可写,最大为666(-rw-rw-rw-)

  2. 用户创建的是目录的话,预设条件所有的权限都开放,即是777(drwxrwxrwx)

而umask数值的代表含义为,以上的两条规则的默认值减去umask值。umask是可以自定义的。

不能单纯的以数字去进行减法。

例子:777-022应该是rwx rwx rwx 减 --- -w- -w-,权限就是rwx r-x r-x

为什么不能单纯地用数字减法计算权限呢?看一下的这个例子:

umask=033

文件的默认权限是666,666-033=633也就是rw- -wx -wx,这其实是错误的,

实际上是rw- rwx- rw- 减去 --- -wx -wx 等于rw- r-- r--,也就是644.

umask可以在/etc/bashrc里面修改,预设情况下,root的umask值是022,而一般用户的umask值为002,因为可写权限非常的重要。

以上是关于chmod命令和umask命令的主要内容,如果未能解决你的问题,请参考以下文章

chmod命令chown命令umask值和隐藏权限

Linux文件和目录权限:chmod更改所有者和所属组:chown,umask命令,隐藏权限:lsattr/chattr

chmod chown umask 以及隐藏权限lsattr/chattr

0221自学Linux_bash全局配置+个人配置+命令(useradd,finger,groupadd相关,chage,chown,chmod,umask)

2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown 2.16 umask 2

2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown 2.16 umask 2