linux之权限管理_1

简介:
linux之权限
权限简单介绍
  • 文件权限

        文件作用对象
            属主,ownership
            属组,group
            其他人,other
        权限位
        4 2 1
        r w x
    
        文件权限:
            r: 读,只能读取文件内容
            w: 写,只能覆盖写文件
            x: 执行,必须与r结合使用,方可执行此文件
    
            当文件的属主使用此文件时,其可使用wq!强制写入
        目录权限:
            r: 可列出目录下文件列表,但无法查看文件属性
            w: 单独无作用
            x: 可进入目录,无其他作用
            rw: 与r权限相同
            rx: 可进入目录,查看文件属性,无法创建文件
            wx: 可进入目录,创建文件,无法查看目录下文件
    
            目录的有效权限位: 
                rx,wx,rwx
基础权限
  • 文件权限修改工具(chmod)

    • chmod

          修改文件权限位
      
          chmod [OPTIONS] MODE[,MODE] FILES
      
              OPTIONS:
                  -R 递归更新
                  --reference=RFILE 引用指定文件的权限位
      
              MODE表示方法:
                  字母表示法
                      rwxrwxrwx
                  数字表示法
                      777
              作用对象:
                  属主,使用'u'表示
                  属组,使用'g'表示
                  其他人,使用'o'表示
                  所有人,使用'a'表示
              操作符号:
                  + 添加权限位
                  - 删除权限位
                  = 左侧作用对象,右侧指定MODE(两侧留空为000)
      
              示例:
                  设置权限
                      chmod 644 FILE
                      chmod u=rw,g=r,o=r FILE
                  修改权限
                      chmod a+w FILE
  • 文件属主属组管理工具(chown,chgrp)

    • chown

          change file owner and group
      
          chown [OPTIONS] [OWNER[:GROUP]] FILES
          chown [OPTIONS] [OWNER[.GROUP]] FILES
      
              options:
                  -R 递归修改
                  --reference=RFILE 引用文件的属主属组
      
              示例:
                  修改属主
                      chown sadan FILE
                      chown -R sadan  DIR
                  修改属组
                      chown .sadan FILE
                      chown  -R .sadan DIR
                  修改属主属组 
                      chown sadan:sadan FILE
                      chown sadan:sadan DIR
    • chgrp

          修改文件属组
              常用于当作用对象无用户
      
          chgrp [options] GROUP FILE
      
              OPTIONS:
                  -R 递归修改
                  --reference=RFILE 引用文件属组
      
              示例:
                  设置属组
                      chgrp sadan FILE
                      chgrp -R sadan FILE
  • 遮罩码信息

    • 权限位的计算方式

          linux权限位有默认值,文件和目录的默认值不同.
              为了防止文件有执行权限,文件的默认值为666.
              目录的默认值为777.
      
          新创建文件的权限位是由默认值与umask值直接的逻辑运算求得.
          简单理解为:
              新文件权限=默认权限-mask
    • umask

          mask是权限遮罩码,用于挡掉指定的权限位.而当原文件要挡掉的权限位不存在时,需要将其重新加回原文件权限位.
      
          umask 
              显示或设置mask值
      
              umask 显示当前shell的mask值
              umask MODE 设置mask权限
      
          root和普通用户的umask默认值不同,其设置的文件为/etc/bashrc,有效脚本为:
              UID大于199且用户名和主要组名相同的用户设置为002,其它设置为022.
                if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
                     umask 002
                  else
                     umask 022
                  fi
      
          示例1:
      
              # umask 025
              # umask 
              0025
              # touch a
              # ll a
              -rw-r---w-. 1 root root 0 Aug 31 07:52 a
      
              以上结果642,正常计算666-025=641
              rw-rw-rw-  默认权限
              ----w-r-x  umask值
              rw-r---w-  结果
      
              默认权限中没有x权限,umask中有x权限,由于umask目的是为了遮住某些权限位,
              因此减去没有的x时,需要重新将其添加回去.即6-5+1=2,得642.
      
          示例2:
      
              # umask 025
              # ll /etc/fstab
              -rw-r--r--. 1 root root 899 Aug 28  2017 /etc/fstab
              # cp /etc/fstab /tmp
              # ll /tmp/fstab
              -rw-r-----. 1 root root 899 Aug 31 07:57 fstab
      
              正常计算,默认权限-umask为644-025=620,实际显示结果为640.
              原因,使用cp复制文件时,默认权限不为666,而是文件自身的权限.
      
          总结:
              权限位的计算由默认权限-mask值
              当默认权限中遮去不存在的权限位时,减去后需要再加回来
              使用cp命令复制文件时,默认权限位是文件自身的权限位
特殊权限
  • SUID

         SUID是linux特殊权限位之一,作用位置owner的权限位,使用'u'设置.SUID的表示方法为s,或4xxx.
    
         当用户使用带有此权限的工具去对文件进行操作时,临时使用工具自身的属主去操作文件.
    
         如下:
             sadan --> cat(sadan) --> /etc/shadow
                此过程使用sadan为属主去访问shadow文件     
             sadan --> cat(root) --> /etc/shadow
                此cat添加suid权限,cat自身的属主为root,因此最后是以root为属主去访问shadow文件
    
         注意:
            SUID只对二进制的可执行文件有效.可以对任何文件设置其权限,但无效.
  • SGID

        SGID是linux特殊权限位之一,作用位置group的权限位,使用'g'设置.SGID的表示方法为s,或2xxx.
    
        作用对象为二进制的可执行文件
            当用户使用带有此权限的工具去对文件进行操作时,临时使用工具自身的属组去操作文件.
        作用对象为目录
            用户在此目录下创建的所有文件的属组都为此目录的属组
  • Sticky

        Sticky是linux特殊权限位之一,作用位置other的权限位,使用't'设置.Sticky的表示方法为t,或1xxx.
    
        作用对象为目录
            此目录下的所创建的文件只有文件的属主能够删除,其他人无法删除.
  • 特殊权限的修改

        添加suid,设置suid
            chmod u+s FILE
            chmod 4xxx FILE
        删除suid
            chmod u-s FILE
        添加sgid,设置sgid
            chmod g+s FILE
            chmod 2xxx FILE
        删除sgid
            chmod g-s FILE
        添加sticky,设置sticky
            chmod o+t FILE
            chmod 1xxx FILE
        删除sticky
            chmod o-t FILE
  • 特殊权限的显示

    示例:
        # ll
        total 0
        ----------. 1 root root 0 Aug 31 06:29 file1
        ---x--x--x. 1 root root 0 Aug 31 06:29 file2
        # chmod u+s file1 file2
        # chmod g+s file1 file2
        # chmod o+t file1 file2
        # ll
        total 0
        ---S--S--T. 1 root root 0 Aug 31 06:29 file1
        ---s--s--t. 1 root root 0 Aug 31 06:29 file2
    
    以上总结:
        当原文件有x权限时,特殊权限位显示为小写.无x权限时,则显示为大写.
文件属性权限
  • 设置文件属性(chattr)

        修改文件属性
    
        chattr [options] +|- ATTR FILE
    
            options:
                -R 递归设置
            ATTR:
                i  设置此权限后,文件只读(不能删除,修改)
                a  设置此权限后,文件不能删除,修改,可附加内容
  • 显示文件属性(lsattr)

        显示文件属性信息
        lsattr [OPTIONS] FILE
            -R 递归显示

本文转自 撒旦搞时间 51CTO博客,原文链接:http://blog.51cto.com/12074120/1963881,如需转载请自行联系原作者
相关文章
|
4月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
250 3
|
11月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
238 2
|
7月前
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
|
6月前
|
安全 Linux 数据安全/隐私保护
【Linux】深入理解linux权限
本文深入解析Linux权限管理机制,涵盖权限概念、用户角色、文件属性及操作方法。文章分为前言、权限介绍、用户与角色、文件属性、权限修改及常见问题六大板块。详细说明了权限类型(r/w/x)、角色优先级、chmod/chown指令用法,以及目录权限、umask掩码、粘滞位等重点内容。掌握这些知识,可有效提升Linux系统安全性和灵活性,是管理员必备技能。喜欢的话别忘了点赞支持哦! ❤❤❤
316 6
|
7月前
|
安全 Linux 数据安全/隐私保护
Linux权限揭秘“Root与Sudo”
Root用户是Linux系统中的超级用户,拥有对系统的完全控制权。Root用户几乎可以执行任何命令,修改任何文件,甚至删除系统上的所有内容。因此,Root用户的使用需要非常谨慎,以避免潜在的安全风险。
285 6
|
10月前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
213 1
linux特殊权限!!
|
10月前
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
374 1
linux权限管理
|
9月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
11月前
|
Linux 数据安全/隐私保护
探索Linux操作系统下的权限管理
【8月更文挑战第66天】在数字世界中,操作系统的权限管理就如同现实世界中的钥匙和锁,保护着我们的数据安全。本文将带你深入理解Linux系统中的权限设置,通过实际代码示例,让你掌握文件和目录权限的分配与管理技巧。准备好了吗?让我们开始这场关于权限管理的探险之旅吧!
255 14
|
11月前
|
运维 监控 安全
Linux_权限理解(详细PLUS)
【10月更文挑战第3天】本文介绍了Linux系统中的权限管理基础,包括文件系统对象与权限关联、权限的继承性、字符与数字表示法的解读,以及用户、组与权限的动态交互。详细解析了`chmod`命令的高级用法和权限修改的风险,探讨了SUID、SGID和Sticky Bit等特殊权限的作用机制,并提出了基于角色的权限分配和定期权限审计的最佳实践。
218 11