• 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更改文件或目录的所有者和所有组

  • 相关阅读:
    .net 5.0
    多线程synchronized锁
    多线程(Thread、线程创建、线程池)
    电商秒杀方法
    sb @EnableAsync与@Async 20210310
    spring boot @EnableAsync 异步调用
    五代十国军事人物
    唐朝末年,七大割据军阀势力
    盘点万历之后,镇守辽东的8位军事统帅,堪称有军事作为的仅三人
    Cookie-Session or JWT
  • 原文地址:https://www.cnblogs.com/Jims2016/p/5776739.html
Copyright © 2020-2023  润新知