Linux 文件权限 (上) rwx权限

-rw-------. 1 root root    1696      Jul       16     09:27       anaconda-ks.cfg
-rw-r--r--. 1 root root       0         Aug      16     12:14      at
-rw-r--r--. 1 root root      12        Aug      1       10:48      at_alram
-rw-r--r--. 1 root root       4          Jul       30     16:11      at_task2
-rw-r--r--. 1 root root       0          Jul       20     09:28      cd
-rw-r--r--. 1 root root       0         Oct       8       15:00      cro_test
drwxr-xr-x. 2 root root    6          Jul       16     09:28      Desktop
drwxr-xr-x. 2 root root    6          Jul       16     09:28      Documents
drwxr-xr-x. 2 root root    6          Jul       16     09:28      Downloads

 #   请大家思考下 上示 内容是通过那个命令显示出来的?  代表的意义又是什么?

        ====>>>      ls  -l    命令 

 #    我们带着 上述问题 开启 对   Linux  文件权限  知识的带入 :

               之前的文章我们简单的 介绍过  文件权限的部分内容,现在我们开始整块儿知识地学习!

             

 #     之前在学习  文件权限的时候 也对 ls -l 展示的内容做过解释,现在再复盘下 :

        

           第一列 : 文件类型 

           第二列 : 访问权限 ( 实际上一共有 10 位)

           第三列 :  

                             *   如果是文件的话就是  1  

                               如果是目录的话 :  数字就代表目录里的文件个数 !

             第四列 :  所属用户 

             第五列 :  所属用户组 

                              注 :  所属用户及所属用户组 都不完全代表 该文件就是所属用户或用户组创建

                                        的( 因为 所属用户即用户组 是可以后期改变的!)

             第六列 :     文件大小 

             第七列 :   时间日期 

             第八列 :   文件名 ( 如果是链接文件的话则会 显示 指向  ) 

   #         关于文件类型在此再做以下解释  :              

文件权限 : 

         

        #     我们现在只研究 文件权限部分 ; 那文件权限是那部分呢??

               ===>>>     就是整个 第一部分 ( 把文件类型 和 最后一个 .  去掉 的中间 9 位)

               

               这九位分为 三组  :

                ===>>>>  

                                  第一部分(2-4位)  :  代表用户的权限

                                  第二部分(5-7位)  :  代表用户组的权限

                                  第三部分(8-10位)  :  代表其他人的权限 

               对于文件权限主要是由 以下 四个字符表示 :

               r  :    代表   读的权限 

               w :    代表   写的权限 

               x :    代表    执行的权限

               - :     代表    没有赋予任何权限 

       #      我们再介绍下 最后一个字符 ( 第 11 个字符 ) 

               用来表示是否有一个可替换的访问控制措施应用在该文件上;

                       ===>>    当为一个 空格 时 :

                                      表示系统没有可替换的访问控制措施

                       ===>>     当为一个 .  时  :

                                       官方 : 代表该文件使用 SElinux 安全上下文,并且 未使用其它的访问控

                                                    制措施

                                       通俗 :  代表额外的权限控制策略( 就是除了 r w x 这种权限控制策略

                                                     外,还有额外的权限控制策略!! )

                                                     示例  : 

                                                     *        rwxrwx--- 

                                                            上示权限代表的是什么 :

                                                              ===>>>   用户 和 用户组 具有 可读可写可执行的权限

                                                                              但是 其它用户 什么权限都没有 !! 

                                                              基于上示,问题来了 : 现在我想让其它用户具备读的权限 

                                                              怎么解决 :

                                                                              那我们就是说 笼统意义上 我们把权限改为这

                                                                              样:  rwxrwxr--  就看可以满足了!!

                                                               没错,这样确实解决了提出的问题,但是,要清楚一个问

                                                               题就是  :   所谓的 其他人指的是 除了 用户和用户组 的所

                                                               有用户都是属于 其它用户的 ! 

                                                                接着,问题来了 : 我想要 其它用户中的某几个用户具有

                                                                                               读的权限!

                                                                ===>>>  那你上面的 rwxrwxr--  就不能满足问题的需求了

                                                                               至此,我们便需要 额外的权限控制策略来帮助

                                                                               我们完成该问题

                                                               其中 额外的权限控制策略 最常见的就是 ACL 

                                                               ACL  : 访问控制列表

                                                               那就意味着我们可以把这 其它几个人 放在 ACL 列表中,

                                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​       让列表有读的权限即可! 就不用给 其它用户 设置 读的权

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​       限( 问题是 给其它用户设置 读的权限 也无法满足呀!)

                      我们已经有了 rwx 这种控制策略,但是,有时针对于特定的情境下还是无法满足需

                      求所以就 需要 额外权限控制策略 ( 如上示例 )

                                 ===>>>    当为 +  时 :

                                                       表示该文件在使用SElinux安全上下文的同时,还混用了其他访问

                                                       控制措施(如:访问控制列表ACL)

            

      #         r  w  x     权限的数字表示方法   

              

                其实上图就直接完全总结了!!

                会发现 r w x 三种权限 可以用 两种数字进制去表示 

                 我们直接举例( 直接看例子最好理解 )

                二进制表示  :

rwxrwxrwx :   111111111 

rwxrw-rw- :   111110110

-w-r-xr-- :   010101100

                     :   二进制其实就是说白了,  r w x 那个有权限那个就是 1 没有权限就是 0 

                  十进制(八进制)表示  : 我们仍以上示例子举例 

rwxrwxrwx :   111 111 111 
               7   7   7
rwxrw-rw- :   111 110 110
               7   6   6
-w-r-xr-- :   010 101 100
               2   5   4

                    :   你会很显然的发现 其实 所谓 十进制 就是把二进制转成了 十进制

                               (    没有什么神奇的!! )  

                                但需要注意的是 我们仍是 以 三位三位一组!!! 

        #    九位权限的简写表示 : 

 rwx                rwx                 rwx 

 user( 用户)      group(组)           other(其他人)

  u                g                      o   

              *       还有一个  a ( all ) :  代表所有即 user   group   other  

                       u 、g、 o、 就是缩写表示 !!!

          #     针对于 文件的 rwx 和 目录 的 rwx 是有区别的( 意义不一样 ~ )!!

                

                 对于文件

                 我们仍举例说明 

                 ===>>>            

[root@bogon ~]# touch file.sh     # 创建一个文件 

[root@bogon ~]# ls -l file.sh     # 查看文件权限
-rw-r--r--. 1 root root 0 Oct 28 20:44 file.sh

[root@bogon ~]# ./file.sh         # 去执行文件,发现没有权限 
-bash: ./file.sh: Permission denied

[root@bogon ~]# chmod u+x file.sh # 添加 执行权限 
[root@bogon ~]# ./file.sh         # 执行文件成功 

[root@bogon ~]# ls -l file.sh     # 查看文件权限,发现已有 x 执行权限 
-rwxr--r--. 1 root root 0 Oct 28 20:44 file.sh  # (最后显示的文件 file.sh 其实颜色是加深的)

  

                对于目录

                X 权限 !

              

                :  使用 ls -ld 查看 /home/natash 这个目录的权限 

            

              :   让 harry 用户 访问 /home/natash 发现 没有权限 ( 废话,你要是理解

                          /home/natash 的权限你就知道为什么了)

            

                 :   显然,我们是用 root 用户添加权限的!!( 你用普通用户添加权限试试??)

                            会发现我们权限添加是   o +  x 

                         (  x  权限  针对目录 就不再是 执行的意思了,是 访问的意思! )

           

              :       显然, harry 可以访问 /home/natash 了!!

              r  权限 

            

             :   当我们在 harry 用户下,在 访问 natash 的家目录成功后,想要查看 家目录下的内

                       容时,发现 没有权限!!

                       ( 因为刚才只是添加了 o+x, 并没有 r 的权限!)

           

             :   还是在 root 下( 当然了也只能在 root 下)

                        添加 o +  r    (  加 r 权限 ) 

          

              w  权限 

            

                :  发现无法在 natash 家目录下 创建文件 !!

                          ( 都没有 w 权限当然不行了!!)

                                          root 用户下 添加 w 权限 

             

                          创建成功,并展示出来!!

                          这就是 w 权限的作用!!

                        

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值