Linux权限管理

在学习linux的权限之前,我们先来理解几个概念:

可读,可写 、可执行

Linux的文件和目录有以下三种方式:

r  、w 、x:可读,可写 、可执行

r-可读(read)

w-可写(write)

x-可执行(execute)

所有者 、所属组 、其他人

Linux的文件和目录又可以有三个所有者概念:

u、g 、o: 所有者 、所属组 、其他人

u:所有者

g:所属组

o:其他人

 好了,开始管理我们的权限了,要管理权限,首先得知道我们的权限才能去管理吧,不然从何谈管理,

下面来解读我们的权限:

我们以/目录下为例,cd / 就进入根目录了。先来ls一下下,要带-l哦,或者直接 ls -l /也可以,显示文件或目录的详细信息

ls -l  /

发现没有?前面是不是一堆天书?什么 drwxr-xr-x ?下面我们就拿第一条来开刀吧

dr-xr-xr-x : 我们可以把它拆开来解读 , d  r-x  r-x  r-x 

 d:代表的是文件类型,在Linux中,常用的文件类型为以下三种:

       d :目录 directory

       - : 二进制文件 binary

       l : 软链接文件 link

所以这里的d就是指名了这是一个目录文件。

r-x:这里代表的是这个文件或目录所有者所拥有的权限,r是可以读,不能写,所以用-代替,x是可以执行,说明这个文件或目录中,

       所有者是可以读,可以执行,不能写

r-x :同样的道理,第二个代表的是所属组对这个文件的权限,也是可以读,可以执行,不能写

r-x第三个就是其他人对这个文件或目录的权限了。

所以dr-xr-xr-x翻译起来就是这样的:这是一个目录文件,它的所有者可以对它读和执行,不能写 所属组可以对它读和执行,不可以写

                                                 其他人可以读和执行,不能写

来个例子:

这是一个目录文件,所有者可读可写可执行,所属组可读可执行 、不能写,其他人可读可执行 、不能写。

再比如:

-rw-r--r--:这是一个二进制文件,所有者可读可写 、不能执行,所属组可读 、不能写 、不能执行,其他人可读 、不可写 、不能执行。

好了既然知道了这些权限,那么所有者是谁呢?属于哪个组呢?

只有留心观察就知道了,以及打印出来给我们了:

 

 

 接下来就是要管理编辑权限了:

权限管理命令:chmod命令

命令名称:chmod

命令英文原意:change the permission mode of a file

命令所在路径:/bin/chmod

执行权限:所有用户

语法: chmod  【mode】 文件或目录      此处mode是啥???是数字

功能描述:改变文件或目录权限

mode是数字怎么来的呢?

前面我们说了一个文件或者目录分别有所有者 (u)、所属组u(g)和其他人(o)对其的权限,

而权限又分为:(r)可读 、(w)可写 、(x)可执行

为了方便表示,linux用了一个很简单的方法来区别,r用4表示,w用2表示,x用1表示,把他们对号入座:

 r - 4

 w - 2

 x - 1

所以

其中,第一个字符d表示类型是目录,这里不考虑,接下来的三个三位数(r-xr-xr-x)就可以这么转换啦!!!

(4+0+1)+(4+0+1)+(4+0+1)= 555

这样意味着555能代表啥?你懂了

其实在数字和权限之间就是按这个规则来,数字转权限和权限转数字

  • 数字--->权限

例如 764 :对应的就是将7分解为4 、2 、1,将6分解为4 、2 、0,将4分解为4 、0 、0,所有对应权限为rwxrw-r--

       654: 6=4+2+0, 5=4+0+1, 4=4+0+0 结果为:rw-r-xr--

  • 权限--->数字

例如 drwxrw-r--: 第一位d代表类型,不参与计算,rwx=4+2+1=7,rw-=4+2=0=6, r-- = 4+0+0=4最终结果为764

好了,,来个练习,

drwxr-xr-x : d不管 , rwx : 4+2+1 =7, r-x:4+1 =6, r-x:4+1=6, 所以最终结果为766

我们先创建个dir目录,然后来改变这个目录的权限

初始时: drwxr-x--- :是多少? 750

我想它的权限为: drwxrwxr-x  是多少 775

好了,有数字了,开始干吧  chmod 775 dir

怎么样,达到了效果了吧!!!是不是很方便快捷高大上。

那么再来做个实验,我创建个文件来试试

再改变下文件的权限

一样也达到了效果!

大家有没有注意到,我创建目录和文件,默认的权限是什么呢?这目录和文件默认的权限为什么不一样呢?

看看初始给我们默认的权限:

 

其实linux默认的权限是通过这个命令可以查看到:

什么???0027,貌似配不出合理的权限啊,别急,第一个0是特殊权位,具体啥也不不知道,

看后面三位027,这也不对呀,对了,忘了用777去减,其实它打印出的是正确的,需要我们用777-027 = 750

把750转成我们的权限信息,看看 : 7= 4+2+1 , 5 = 4+1 , 0就是没了,所以权限信息是:rwxr-x---

看看新建的目录是不 drwxr-x---,完全正确哦!!!

 

可是文件呢?

 

不对了吧??为什么,原来新创建的文件都是不可执行的,也就是说x是不能有的,所以全部去掉x,其实这就是linux安全的一个体现吧

如果我想改变这个初始的权限呢?一般不建议这么做,如果非得这么做,我们可以改, 命令是umask 0025呀,随便计算就可以了。

这样创建目录初始的权限就更改了。

既然u  、g 、o  的权限可以更改,我们也可以更改文件的所有者,所属组,请猛戳下一节Linux更改文件或目录的所有者和所有组

 

posted @ 2016-08-16 16:49  Blue眼泪2016  阅读(2240)  评论(0编辑  收藏  举报