文件系统上的权限管理

                    文件系统上的权限管理:

一 、三种权限
         r: 读
         w:写
         x:执行
    对文件来讲:
           r:可以使用文件查看类工具获取文件内容
           w:可以修改其内容
           x:可以执行此文件
    对目录来讲:
          r:可以使用ls来查看目录中的文件列表
          w:可以在此目录中创建和删除文件
          x:可以使用ls -l来查看此目录中的文件列表,亦可以使用cd切换至此目录。

二、权限的表示方法
         1、可以使用r、w、x表示
         2、给定权限和改变权限时,可以使用八进制表示,如下:
             权限    二进制    八进制
             – – –       000        0
             – – x       001        1
             – w –      010        2
             – w x     011        3
             r – –       100        4
             r – x      101        5
             r w –     110        6
             r w x     111        7
 
            
三、三类用户:
             u: 属主
             g: 属组
             o: 其它用户

四、修改权限
         
         chmod [OPTION]… MODE[,MODE]… FILE…
    常用选项:
                 -R:
                     修改目录及其内部文件的属主
             –reference=/path/to/somefile file,…
                     将file的权限是修改为与/path/to/somefile的权限相同

         MODE:
              1、一类用法
                   u=
                   g=
                   o=
                   a=  (a表示所有用户)
        例如:
               [root@zq ~]# ll 11.sh
               -rw-r–r–. 1 root root 0 Aug 26  1914 11.sh
               [root@zq ~]# chmod a=rwx 11.sh
               [root@zq ~]# ll 11.sh
               -rwxrwxrwx. 1 root root 0 Aug 26  1914 11.sh
                   
                   u+/-
                   g+/-
                   o+/-
                   a+/-    
    例如:
               [root@zq ~]# ll 11.sh
               -rwxrwxrwx. 1 root root 0 Aug 26  1914 11.sh
               [root@zq ~]# chmod o-x 11.sh
               [root@zq ~]# ll 11.sh
               -rwxrwxrw-. 1 root root 0 Aug 26  1914 11.sh
          
              2、直接使用八进制数
                 如:660、777.511
        例如:
               [root@zq ~]# ll 11.sh
                -rwxrwxrw-. 1 root root 0 Aug 26  1914 11.sh
               [root@zq ~]# chmod 660 11.sh
               [root@zq ~]# ll 11.sh
               -rw-rw—-. 1 root root 0 Aug 26  1914 11.sh
               
五、文件的属主和属组修改
        
        chown: 改变文件属主(只有管理员可以使用此命令)
              chown [OPTION]… [OWNER][:[GROUP]] FILE…
            常用选项:
                 -R:递归修改
 
              1、只改属主
            例如:
               [root@zq ~]# ll 11.sh
                -rw-rw—-. 1 root root 0 Aug 26  1914 11.sh
               [root@zq ~]# chown zq 11.sh
               [root@zq ~]# ll 11.sh
               -rw-rw—-. 1 zq root 0 Aug 26  1914 11.sh                 
            
              2、修改属主和属组
            例如:
              [root@zq ~]# ll 11.sh
               -rw-rw—-. 1 root root 0 Aug 26  1914 11.sh
              [root@zq ~]# chown zq:zq 11.sh
              [root@zq ~]# ll 11.sh
              -rw-rw—-. 1 zq zq 0 Aug 26  1914 11.sh
             
              3、修改属组
            例如:
              [root@zq ~]# ll 11.sh
               -rw-rw—-. 1 zq zq 0 Aug 26  1914 11.sh
              [root@zq ~]# chown :root 11.sh
              [root@zq ~]# ll 11.sh
              -rw-rw—-. 1 zq root 0 Aug 26  1914 11.sh
    
          注意:命令中的“:”可以使用“.”

六、文件系统上的特殊权限
             1、在文件系统上由三种特殊权限:SUID SGID Sticky
             2、安全上下文:
                      前提:进程由属主和属组,文件由属主和属组
                      (1)任何可执行文件能不能被启动为进程,取决于发起者对文件是否由执行权限
                      (2)启动为进程之后,进程的属主为发起者,属组为发起者的属组
                       (3)进程访问文件的权限,取决于进程的发起者
                           a、进程的发起者,是文件属主,则以属主权限
                           b、进程的发起者,是文件属组,则以属组权限
                           c、即不是属主也不是属组,则以“其它位”权限
              3 SUID
                 设置了SUID权限后,启动可执行文件为进程,其进程的属主为原文件的属主,以原文件的属主权限执行。
                 
                 权限设定:
                      chmod u+s file
                      chmod u-s file
                例如:
                  [root@zq ~]# ll 11.sh
                  -rw-rw—-. 1 zq root 0 Aug 26  1914 11.sh
                  [root@zq ~]# chmod u+s 11.sh
                  [root@zq ~]# ll 11.sh
                  -rwSrw—-. 1 zq root 0 Aug 26  1914 11.sh
                
                权限映射:
                     占据属主的执行权限位  
                       
                       原来属主由执行权限时,则为小写s
                       原来属主没有执行权限时,则为大写S
                                 
              4 SGID
                  默认情况下,用户创建文件时,其属组为用户的所属的基本组
                  一旦某目录被设置了SGID后,在此目录中创建的文件所属的组为此目录的属组
                  
                 权限设定:
                      chmod g+s file
                      chmod g-s file
                 例如:
                   [root@zq ~]# ll 11.sh
                    -rw-rw—-. 1 zq root 0 Aug 26  1914 11.sh
                   [root@zq ~]# chmod g+s 11.sh
                   [root@zq ~]# ll 11.sh
                   -rw-rwS—. 1 zq root 0 Aug 26  1914 11.sh  
                
                权限映射:
                     占据属组的执行权限位  
                       
                       原来属组由执行权限时,则为小写s
                       原来属组没有执行权限时,则为大写S
               5、Sticky:
                    对于一个多人可写的目录,如果设置了sticky,则每个用户只能删除自己的文件
 
                  权限设定:
                     chmod o+t file
                     chmod o-t file
                  例如:
                    [root@zq ~]# ll 11.sh
                     -rw-rw—-. 1 zq root 0 Aug 26  1914 11.sh
                    [root@zq ~]# chmod o+t 11.sh
                    [root@zq ~]# ll 11.sh
                    -rw-rw—T. 1 zq root 0 Aug 26  1914 11.sh

                 权限映射:
                     占据其他者的执行权限位  
                       
                       原来其他者由执行权限时,则为小写t
                       原来其他者没有执行权限时,则为大写T

原创文章,作者:zq,如若转载,请注明出处:http://www.178linux.com/72421

(0)
zqzq
上一篇 2017-04-03 17:24
下一篇 2017-04-03 18:48

相关推荐

  • linux内核及centos系统启动流程

    Linux组成 Linux: kernel+rootfs(根文件系统) kernel功能: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs:程序和glibc  库:函数集合, function, 调用接口(头文件负责描述)      过程调用:proce…

    Linux干货 2016-09-10
  • 文本编辑器—sed

    一、sed介绍 sed 一种流式编辑器。一个流式编辑器通常对来自输入流(一个文件或者是管道的输入)的文本进行转换处理。在某些方面类似支持脚本编辑的编辑器,sed在多输入情况下只开放一个通道工作,因此更加效率。sed与其他编辑器最大的区别在于,能对管道输入的文本进行过滤处理。 二、sed工作机制 sed保持两个数据缓冲区:主要活动的模式空间,以及辅助性的保持空…

    Linux干货 2016-08-12
  • 文件查找与压缩-1

       1、 locate命令(非实时查找即数据库查找) 1)、查询系统上预建的文件索引数据库/var/lib/mlocate/mlocate.db      依赖于事先构建的索引;索引的构建是在系统较为空闲时自动进行( 周期性任务) 或者管理员手动更新数据库即是执行#updatedb命令;引构建过程…

    Linux干货 2016-08-15
  • Linux下的网络配置方法(一)

        Linux的网络配置方法有多种,而且随发行版及版本而略微不同。我目前的测试环境为CentOS6和CentOS7。     常用的网络配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。 一、简介   &nb…

    Linux干货 2015-12-15
  • 第六周总结VIM编辑器的使用并完成练习题

    第六周 总结VIM编辑器的使用并完成练习题 1. VIM是什么? VIM(Vi IMproved)是从vi发展出来的一个文本编辑器。 2.为什么要使用VIM? VIM有代码补完,编译以及错误跳转等方便编程的功能,在程序员中广泛使用。对于大多数的用户来说,VIM有着比较陡峭的学习曲线,但是一旦掌握一些基本操作之后,能大幅度提高编辑效率。VIM是类Unix系统用…

    Linux干货 2017-09-02
  • 文件查找命令之find

    文件查找命令一共有两种,locate 和find ,那么他们在用法和功能上面有什么区别呢?     locate:查找速度快,模糊查找,遍历整个文件系统的目录到数据库中,然后在去数据库中查找,依赖于事先创建好的索引库,该数据库属于系统自动创建,定期自动更新,也可手动跟新,更新命令updatedb,更新数据库需要遍历整个根文件系统…

    Linux干货 2016-08-16

评论列表(1条)

  • renjin
    renjin 2017-04-05 14:28

    对chmod 命令的使用写的挺详细的,把排版要排好,那样会更好一些