欢迎光临
我们一直在努力

Linux:控制对文件的访问|学习复盘

一、学习目标

  • 本次学习主要掌握 Linux 文件系统权限相关知识,学会配置权限,理解不同权限带来的安全影响。
  • 可以查看文件与目录权限,读懂权限含义,理解权限对所有者、所属组、其他用户访问的控制作用。
  • 熟练使用命令修改文件权限、修改文件所有者与所属组。
  • 理解 suid、sgid、sticky 特殊权限,掌握 umask 掩码,能够控制新建文件的默认权限。

二、知识点汇总

  • 什么是文件系统权限?它是如何工作的?如何查看文件的权限?
    文件系统权限是 Linux 的安全访问机制,用来限制不同用户对文件、目录的读写执行操作。
    它把用户分为三类:文件所有者、所属组成员、其他用户;每一类用户都拥有读 ®、写 (w)、执行 (x) 三种权限。当用户访问文件时,系统识别用户身份,匹配对应权限做访问控制。
    查看文件权限命令:
  • ls -l 文件名

  • 解释-rw-r–r–这个字符串
    第 1 位-:代表普通文件,如果是d代表目录
    rw-:所有者权限:可读、可写,无执行权限
    r–:所属组权限:仅可读,不可写、不可执行
    r–:其他用户权限:仅可读,不可写、不可执行
    对应数字权限:644

  • 使用什么命令可以更改文件和目录的权限?写出分别使用符号法和数值法将权限从 754 修改为 775 的命令。
    修改权限命令:chmod
    数值法

  • chmod 775 文件名

    符号法:组增加写权限,其他用户增加执行权限

    chmod g+w,o+x 文件名

  • 如何修改文件的所有者和所属组?
    使用chown命令。
  • #同时修改所有者和所属组
    chown 所有者:所属组 文件名

    #仅修改所有者
    chown 新用户 文件名

    #仅修改所属组
    chown :新组 文件名

    #-R递归,修改目录以及目录内部所有文件
    chown -R 所有者:所属组 目录名

  • suid、sgid、sticky 这三个特殊权限对文件和目录有什么影响?
    • suid(4xxx)
      只对可执行二进制文件生效。普通用户运行该程序时,临时获得文件所有者权限;对目录无效。典型:passwd命令。

    • sgid(2xxx)
      文件:执行程序时,临时获得文件所属组权限
      目录:目录内新建文件,自动继承该目录的所属组

    • sticky 粘滞位 (1xxx)
      仅对目录生效。目录内所有人都能创建文件,但是用户只能删除自己创建的文件,不能删除别人的文件,典型目录/tmp。

  • umask 在文件权限管理中有什么作用?解释 umask 0022 命令的作用。
    umask 是权限掩码,用来扣除部分权限,决定新建文件、目录的默认权限。
    实际权限 = 系统最大权限 − umask
    目录原始最大权限:777,文件原始最大权限:666
    umask 0022:把掩码设置为 0022
    新建目录:777 – 022 = 755
    新建普通文件:666 – 022 = 644
  • 三、心得总结

  • 要区分chmod改权限和chown改归属,不要搞混。rwx 在文件和目录的意义不一样,目录的 x 权限代表能否进入目录,这点很容易出错。
  • 改权限有数字法和符号法两种方式:数字法简洁,一次性设置全部权限;符号法只增删对应权限,不用关心原有权限,相对更稳妥。
  • suid、sgid、sticky 属于特殊权限,实操用的不多,但是面试高频考点。sticky 只针对目录生效,suid 只能给可执行程序设置。umask 控制新建文件的默认权限,服务器上调整 umask 可以防止新建文件权限过大造成安全漏洞。
  • 实操小注意:修改目录权限递归要加-R参数,尽量不要随便设置 777 全开权限,存在安全风险。遇到权限报错优先执行ls -l查看权限和属主信息,再针对性调整。

    赞(0)
    未经允许不得转载:171主机测评 » Linux:控制对文件的访问|学习复盘
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址