文件系统上的权限管理

                    文件系统上的权限管理:

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

相关推荐

  • 马哥教育网络第21期-第1周课程练习

    第一周博客 1、描述计算机的组成及其功能。 计算机的组成:运算器、控制器、储存器、输入设备、输出设备 运算器+控制器 = CPU 储存器 = RAM(内存) I/O(输入/输出)设备 = 硬盘、打印机、鼠标、键盘、显示器 CUP:运算和逻辑运算 储存器:缓存和储存数据 I/O设备:计算机与用户交互的设备 2、按系列罗列Linux的发行版,并描述不同发行版之间…

    Linux干货 2016-06-26
  • 使用fail2ban防止暴力破解ssh及vsftpd密码

    此文介绍一个linux下通过监控日志防止密码被暴力破解的软件-fail2ban。fail2ban支持常用的服务,如sshd, apache, qmail, proftpd, sasl, asterisk等的密码验证保护,当发现暴力破解的迹像时,可以通过iptables, tcp-wrapper, shorewall等方式阻止此IP的访问。 python安装 …

    Linux干货 2015-03-04
  • shell-在线翻译脚本

            在linux过程中难免会碰到陌生的单词,此时不得不打开翻译软件或网页请求翻译,但这样切换界面比较麻烦,也浪费时间;         今天头脑发热,尝试着在网上找命令行翻译工具,但无果;…

    2017-02-19
  • 作业:0805

    1.查出用户UID最大值的用户名、UID及shell类型 > cat /etc/passwd|cut -d: -f 1,3,7 |sort -t: -k2 -n| tail -1 2.查出/tmp的权限,以数字方式显示 > st…

    Linux干货 2016-08-08
  • 高级变量-有类型变量

    一.高级变量用法– 有类型变量   Shell 变量一般是无类型的,但是bash Shell 提供了declare和 typeset 两个命令用于指定变量的类型,两个命令是等价的 declare [ 选项]  变量名 -r  将变量设置为只读属性 -i  将变量定义为整型数 -a  将变量定义为数…

    Linux干货 2016-11-24

评论列表(1条)

  • renjin
    renjin 2017-04-05 14:28

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