Linux 文件权限

1、在CLI命令端输入 ls -l 可查看Linux的文件、目录、设备的权限

其中第一字段是文件和目录权限的编码:

    -代表文件,d代表目录,l代表链接,c代表字符型设备,b代表块设备,n代表网络设备

之后的三组字符编码,每一种定义了三种访问权限:

    r代表对象是可读的,w代表对象是可写的,x代表对象是可执行的(若没有某种权限,在该权限位会出现单破折线)

1-1、实例:-rwxrwxr-x 1 root root 4882 Mar 27 13:58 a.txt

    rwx:文件的属主(设为登录名root)

    rwx:文件的属组(设为组名root)

    r-x:系统上其他人

2、Linux中umask命令用来设置所创建文件和目录的默认权限且开始的权限是666,umask命令可以显示和设置这个默认权限

2-1、umask的工作原理是什么呢?

    先理解下八进制模式的安全性设置,获取3个rwx权限的值,然后将其转换成3位二进制值,用一个八进制值来表示。

如果读权限是唯一置位的权限,权限值就是r--,转换成二进制值就是100,代表的八进制值是4。

2-2、我的Linux系统上默认的八进制的umask值是0022,而我所创建的文件的八进制权限却是644,这是如何得来的呢?

    这是由于umask值只是个掩码。它会屏蔽掉不想授予该安全级别的权限,要把umask值从对象的全权限值中减掉。对文件来说,全权限的值是666(所有用户都有读和写的权限);而对目录来说,则是777(所有用户都有读、写、执行权限)

    -rw-r--r-- 1 rich rich 0 Sep 20 19:16 newfile

    newfile文件一开始的权限是666, 减去umask值022之后, 剩下的文件权限就成了644

你可能感兴趣的:(Linux 文件权限)