详解 Linux 文件权限
在深入了解之前,先来理解一下文件权限的基本信息。【推荐:Linux视频教程】
首先创建一个信息的文件
>$ touch new_file >$ ll new_file >$ -rw-r--r-- 1 root root 0 4月 23 22:59 new_file
文件 new_file
拥有下面三组权限:
rw- : 文件的属主,登陆用户的权限 r w 分别是读写
r-- : 文件属主的所属组的权限 r 读
r--: 其他用户的权限 r 读
当然还有一个 x 可执行权限这里没有,可以通过 chmod 命令来增加。这个后面再说。我们先来说说文件权限的由来,touch 命令之后的默认权限是如何来的。要知道首先要知道有 umask 的存在。通过 umask 命令可以获取默认值。这个值很有用。
>$ umask >$ 0022 // 这是我机器上面的值
要了解这个 umask 的是如何工作的,首先要理解一下八进制模式的安全性设置。八进制模式的安全设置先获取这三个 rwx 权限的值,然后将其转换为三位二进制值,用一个八进制值来表示。在这个二进制表示中,每个位置代表一个二进制位。例如唯一读权限 r-- 转换成二进制就是 100, 那么代表的八进制就是 4。
如下表表示的这样:
当了解对应权限以及八进制值之后,看看上面的 new_file 拥有权限是 644。那么这里有点困惑了,这个值是如何得来的呢。 umask 的 0022 有什么意义呢?其实这个值只是个掩码。
他会屏蔽掉不像授予该安全级别的权限。对于文件来说,全权限是 666,减去 umask 的值就是新创建文件的权限。 644 正是我们所期望的那样,默认屏蔽了文件所属组和其他用户 w 权限。这里说明一下文件夹的全权限是 777。如果你想屏蔽更多的权限,可以修改 umask 的值。
>$ umask 026
以上就是详解 Linux 文件权限的详细内容,更多请关注其它相关文章!
上一篇: php转换大写的实现方法
下一篇: 函数的返回值