为什么要用linux,请大声喊“因为安全!”。
linux为什么安全,第一个原因:因为用的人少。。。。如果linux也想windows那样普及,也许linux不再那么安全。。。
第二个原因:因为linux的权限很严格。本篇文章就带你了解linux最神秘的部分。
说到linux的权限,本人刚接触linux的时候,简直是寸步难行。“permissioin denied”是我见得的最多的一句提示。。。。知道后来我懂了它的权限管理机制后,一切才改变。另外,项目最终上线后,甲方一般不会允许我们用root做各种操作的,所以“必须学会linux的权限管理”。
如果你使用linux,如果你用的是root用,那么你可能觉得权限神马的有啥用。但是如果你用的不是root用户,你就能理解我这句话的意思了。
●linux中的一个文件共有3种权限:读(r,readable),写(w,writable),执行(x,executable)。
●linux中,从一个文件来讲,它的“用户”分为4种:文件(或目录)所有者用户(u,user),同组用户(g,group),其他用户(o,other)和所有用户(a,all)。当然,all是一个总称。
明白了上面两个概念后,再来讲linux的权限。
先定位到linux的根“/”,然后执行“ll”命令(之前的文章有讲):
cd /
ll
[root@localhost /]# ll
total 130
-rwxr-xr-x. 1 root root 72 Apr 17 07:03 1.sh
-rw-r--r--. 1 root root 17 Apr 22 03:52 1.txt
-rw-r--r--. 1 root root 0 Apr 22 03:52 1.txt~
-rwxr-xr-x. 1 root root 72 Apr 17 07:03 2.sh
dr-xr-xr-x. 2 root root 4096 May 24 03:36 bin
总共有7列:权限,id,所有者,所属组,大小,日期,文件或目录名。
这里主要针对权限和所有者、所属组作介绍。
先介绍权限。
例如上面第一行的-rwxr-xr-x,总共有10位,这里可以分为4部分即:-,rwx,r-x,r-x。
第一位表示文件的类型,如d代表是目录(directory),“-”一般是普通的文件。
第2,3,4位表示文件所有者拥有的权限,可以看到1.sh这文件其所有者是root,拥有的权限是rwx,也就是可读,可写,可执行。
第5,6,7位表示同组用户的权限,也就是与root属于同一个组的用户的的权限,这里是r-x,也就是可读,可执行。
第8,9,10位表示其他用户的权限,也就是除了root本身和与root同组的外其他的用户的权限,这里是r-x,也就是可读,可执行。
从而可以看出,如果拥有权限,会显示相应的标识位,如果没有权限,会显示“-”。
另外对于rwx这三个权限,可以用一个3位的二进制数来表示,例如rwx表示为111(二进制,转换为十进制就是7),r-x表示为101(二进制,转换为十进制就是5)。
后面会介绍如何改变权限。