最近看到Android或者Linux中,有很多-rwx-wx-wx这样的东西,知道是对文件的权限描述,但是又不是很仔细的了解,通过网络查询,就通过自己的语言,写下来吧。
Linux把文件的权限划分为读(r)、写(w)、执行(x)三种,每一个文件又有三组r、w、x权限,分别对应文件所属者rwx权限,文件所属者所在用户组的rwx权限,和除了文件所属者和文件所属者所在用户组的其他所有用户。
使用 ls –l命令可以查看文件或文件夹的权限。例如,一个文件的权限为 –rwxr-xr--,该如何理解呢?其实整个权限描述字符串一共10个字符。第一个字符代表类型,“-”表示文件,所以这里指的是一个文件的权限,接下来的3个字符“rwx”就代表了对于该文件的所属用户对这个文件有r(读),w(写),x(执行)的权限,再接下来的3个“r-x”,就代表对于该文件所属用户所在的用户组对该文件有r(读),x(执行)的权限,而没有w(写)的权限,没有对应的权限就在对应位用“-”代替。再接下来的3位“-w”,就代表除了该文件的所属用户及所属用户所在的用户组的其他所有用户对该文件有r(读)权限,没有w(写)和x(执行)的权限。用数字代表就是754.
下面来总结一下权限字符的规则:
l 一共10位,第一位表示类型,“-”表示文件,“d”表示文件夹
l 第2位到第4位,表示该文件或文件夹所属用户的它拥有的权限,顺序是rwx,如果哪个权限没有,在其位上用“-”代替。
l 第5到第7位,表示该文件或文件夹所属用户所在的用户组对它拥有的权限,顺序是rwx,如果哪个权限没有,在其位上用“-”代替。
l 第8到底10位,表示该文件或文件夹除了其所属用户和所属用户所在用户组的其他所哟用户对其拥有的权限,顺序是rwx,如果哪个权限没有,在其位上用“-”代替。
l 如果用数字表示,r=4 w=2 x=1 对于每一部分,总和最大为7.如果不好记,可以这样记,rwx,r位是2的2次方=4,w位是2的一次方=2,x位是2的0次方=1。
是不是已经知道这些权限的意思了?