linux中权限管理

权限的描述:

          权限的意思就是用户拥有的对系统支配能力的大小在Linux中是严格控制用户权限的,不同的用户给予不同的权限,权限应遵循能少给就尽量少给的原则从而增加系统的安全性。

进程安全上下文:

   进程对问件访问权限的应用模型:进程的属主与文件的属主是否相同,如果相同,则应用属主权限,如果不同 则去检测进程的属主是否与文件的属组相同如果相同,应用属组权限,否则就只能应用other权限。   

Linux中权限划分:    

    按照针对的对象可分为:

                   user:属主

                   group:属组

                   other:其他人

示例:

file.png

在看到的 rw-r--r-- 中:左三位定义了user权限

                       中三位定义了group权限

                       右三位定义了other权限

   按照可执行的操作分为:

                     r:read 读

                     w:write 写

                     x:excute  执行

   按照对文件和目录的执行结果不同划分:

               r:read
                w:write              x:excute
文件 可以查看文件的的内容 可以对文件的内容进行修改 可将此文件运行为进程
目录 可以列表查看目录 可以对目录内的文件和子目录修改、删除也可添加 能cd切换到此目录作为工作目录

权限的组合机制:

    权限位   二进制   八进制

    ---       000       0

    --x       001       1

    -w-       010       2

    -wx       011       3

    r--       100       4

    r-x       101       5

    rw-       110       6

    rwx       111       7

权限的管理命令:

       chmod 命令

 格式1:赋权、授权表示法

       chmod [ugoa][+-=][rwx]文件...

     u、g、o、a分别代表:属主、属组、其他人、所有人

     +:在原来权限的基础上增加权限

     -:在原来权限的基础上去除权限

     =:直接定义权限

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

     X权限:加x权限到目录上,而不给文件加,数字表示法不支持

    

   当执行所有人统一修改权限时,a可省略,但加w权限时除外(如图最后一条命令)

示例:

xxx.png 

格式2:八进制表示法

       chmod nnn 文件...

         nnn表示八进制数,每个n分别代表对应的rwx(权限位)的组合的和

                      r=4

                      w=2

                      x=1

         第一个n代表属主

         第二个n代表属组

         第三个n代表其他人

示例:

去.png

格式3:

         chmod --reperence=文件1  文件2   // 以文件1的权限为标准修改文件2的权限

示例:

deng.png

chmod命令的选项:

      -R :递归修改目录的权限,当执行-R选项时,会把目录及其目录里的文件、子目录的权限一并修改。 

示例:

默多克.png

从属关系的管理命令: chown、chgrp

  chown命令只有root用户可以执行;chgrp命令root可执行,文件的所有者也可以执行,不过只能修改为所有者所属的组。                 chown命令:

格式1                   chown [OPTION] ..[OWNER]:[GROUP] FILE ....

             

                        可修改文件或目录的属主、属组,也可二者同时修改 

示例:


我去.png


       chown [OPTION] .. --reference=RFILE FILE ...

             把RFILE的从属关系赋值给FILE,


示例:

ajflajsdfldas.png

chown命令的选项:

              -R:递归修改目录的从属关系,当执行-R选项时,会把目录及其目录里的文件、子目录的从属关系一并修改。


dir.png

    chgrp命令:对所属组进行更该与chown 用法一致


特殊权限:SUID SGID sticky

           对文件或目录加上特殊的权限以实现某些特殊的需要

      对应的八进制数:       

                   SUID = 4

                   SGID = 2

                   sticky = 1


介绍:

     SUID 

       当给一个可执行的程序添加SUID权限时,如果此二进制程序的属主有可执行权限,则权限位x位上显示s(显示s,但x权限并没有删除,只是做了隐藏),当其他用户执行此二进制程序时,将以属主身份执行,如果属主对此二进制程序没有可执行权限,则权限位x位上显示S。

用法:

   格式1:      chmod u+s 二进制程序


密码.png


  格式2:        chmod nnnn 二进制程序


    第一个n就代表特殊权限位


1.png


SGID:    

      作用于二进制文件时,与SUID用法一致,

               chmod g+s 可执行程序      

      当作用于目录时,该目录内再新建文件或目录的所属组自动继承该目录的所属组。

               chmod g+s 目录

sticky:粘滞位,只能作用于目录,占据other的执行权限位

 

    作用:执行后,目录里的文件或目录将会受到保护,这些文件或目录只能由root用户和文件、目录的拥有者来进行管理。其他人无权修改删除。


chattr 命令;锁定文件 

  应用场景:当有一些文件特别重要,害怕被误删出时,可以用到,这只是一个方面。

用法:

  选项:

      +i:锁定后的文件将不能删除、改名、更改

      -i:解锁+i的锁定

      +a:锁定后的文件只能增加

      -a:介绍+a的锁定


lsattr命令:可以查看chattr的锁定情况


示例:

char人.png


访问控制列表:

            ACK:实现灵活的权限管理

   

设置命令: setfacl

      格式:setfacl -m u/g:用户/组:权限  文件/目录

                设置用户或组对文件或目录的ACL权限

 

        u:属主   g:组   d:默认设置   

  与常用选项的组合:

            setfacl -m u:zhang:rw f1       //设置zhang用户对f1文件的acl访问权限为rw


            setfacl -x u:zhang f1       //取消zhang用户对f1文件的acl访问权限


            setfacl -b    f1   //清除所有ACL设置


            setfacl -m d:zhang:rw 目录       //d 选项为默认设置,设置新建的文件或目录机子文件都设上ACL权限(只针对于目录)


            setfacl -k 目录    //删除默认ACL设置


             


 查询ACL设置命令:getfacl 文件/目录


示例:

是 顶顶顶.png

[root@myhost testdir]# setfacl -k dir

[root@myhost testdir]# getfacl dir

# file: dir

# owner: root

# group: root

user::rwx

group::r-x

other::r-x








相关新闻

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!