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值:

[root@one ~]# umask
0022
[root@one ~]#

可以看到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,因为可写权限非常的重要。