文件系统上的权限管理

                    文件系统上的权限管理:

一 、三种权限
         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

相关推荐

  • 加密算法、https、dns(主从、视图)

    第九周 2018/1/29

    2018-01-29
  • 非交互式添加分区

    非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,位置千万不能指定错误 parted /dev/sdb mkpart primary 1 1000M parted /dev/sdb mkpart primary 1001 3000M 方法二 (1)将你要在parted命令行输入的命令实现…

    Linux干货 2017-04-24
  • DNS简单概念 一

    DNS简单概念 一 DNS简单概念 一 1 §·主机角色 1 §·DNS服务器的类型: 1 §·DNS中简单术语 2 §·DNS中资源记录及其类型 2 §·DNS域与区域 4 §·BIND安全设置 5 §·BIND高级设置BIND VIEW 6   §·主机角色 在网络上不同的主机有不同的角色, 比如: DNS解析角色,邮件角色,网页服务器 §·D…

    Linux干货 2016-09-26
  • 重定向及tr命令详解及其在管道中的使用简述

    一、标准输入和输出及其重定向         1.标准输入指的是来自键盘的输入,通常用0来表示;标注输出是默认输出到当前终端窗口,用1来表示;标准错误输出同样默认输出到当前终端窗口,用2来表示。除标准输出之外,我们还可以通过重定向来更改默认的输入和输出方式。   &nb…

    Linux干货 2016-08-11
  • 自建回收站

    linux 自添加回收站 (1)建立一个回收站目录 mkdir /tmp/trash_tmp (2) 编辑一个文件 vi /bin/trash mv $@ /tmp/trash_tmp :wq 保存退出 (3)添加别名 alias rm=/bin/trash (4)编辑/etc/bashrc 在最后一行添加alias rm=/bin/trash (5)给予目…

    Linux干货 2017-09-04
  • N28-第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

    2、编辑/etc/group文件,添加组hadoop。

    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

    9、找出/etc/passwd文件中的一位数或两位数;

    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    Linux干货 2017-12-26

评论列表(1条)

  • renjin
    renjin 2017-04-05 14:28

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