chmod与umask区分

chmod命令用于改变文件的目录的访问权限,他是一条非常重的系统命令。用户可以用其控制文件或目录的访问权限。
umask是创建文件或创建一个文件目录的一个默认权限。当使用不带参数的umask命令是,喜用会输出当前umask的值。
[root@localhost root]# umask
0022
通常文件权限只会用到后3位,即002。

umask 与 chmod 命令设定刚好相反,umask用的是“补码”,而chmod设置的是文件的权限码。对于文件而言,系统不允许创建之初就对其赋予可执行权限,因此文件权限的最高限定是6,目录为7。将最高可选值减去umask中的值即是默认文件创建权限。因此当umask为022时,默认创建文件的权限为644,而默认创建目录的权限为755。

umask只是一条命令,终端退出后则会失效,下次则需要重新运行。
试过将/etc/profile,~/.bash_profile,/root/.bash_profile文件中的umask 022改为002,重启终端都未生效,或许终端打开执行的并不是这些文件的环境。
最后找到/etc/bashrc,找到umask 022这一行将其更改为umask 002后则顺利生效。

猜你喜欢

转载自javawangzilong.iteye.com/blog/1887360