• LINUX笔记4(文件及权限管理)


    • 字符解释

     "-"代表常规文件、"l"代表软连接、"d"代表目录、"b"和"c"代表硬件设备、"p"和"s"代表其他特殊用途的文件。

    • 身份介绍

    在linux系统中,对文件或目录来说,访问者的身份有三种:

      1. 主用户,拥有者(owner)文件的创建者。
      2. 组用户,和文件的owner同组的用户。
      3. 其他用户,除所有者,所有者所属组和超级管理员外的用户。
    • 权限介绍

      1. 读(r),例如:ls、cat、more、head、tail等命令
      2. 写(w),例如:cp、mv、rm、touch、mkdir、>>等命令
      3. 执行(x),例如:cd
    • 查看权限的命令:ls -l或者是ll

     每一条记录由七部分组成,分别是:

    1.代表文件类型的权限,2.表示链接数,3.表示文件拥有者,4.表示文件所属组,

    5.表示文件容量,6.表示文件修改的日期(月日时分(年)),7.表示文件或目录名

    前十位字符的含义:

    第一个字符代表文件的类型,如软连接(l),目录(d),常规文件(-)等

    第2-4位代表拥有者的权限

    第5-7位代表所属组的权限

    第8-10位代表其他用户权限

    如果没有权限,则用"-"表示。

    • 权限管理命令:

    • chmod

    chmod [options] dirname/filename

    u代表拥有者(user),g代表所属组(group),o代表其他用户(others)。

     -代表取消权限,+代表增加权限。删去a的拥有者rwx权限,增加所属组和其他用户的w权限。

      a代表所有用户(all)

    删除所有用户的rwx权限

    rwx可以使用数字表示,r->4,w->2,x->1,没有权限->0

    比如777,代表rwx,rwx,rwx,即4+2+1,4+2+1,4+2+1即所有用户都可读写执行该文件。

    753,代表rwx,r-x,-wx,即4+2+1,4+0+1,0+2+1即拥有者可读写执行该文件,所属组可读执行该文件,其他用户只能写和执行该文件。

    • chown

    改变文件或目录的拥有者或所属组

    chown [-R]  newuser dirname

    注意:改文件不需要加R,改目录需要加R

     

    更改文件拥有者和所属组为jdr

    • chgrp

    更改文件属组为root

    • 文件特殊权限管理
    • SetUID
      1. 只有可执行二进制程序才能设定SUID权限
      2. 命令执行者对文件要有x权限
      3. 命令执行者在执行时应获得拥有者权限
      4. SetUID只在程序执行过程中生效,执行完成就失效
    • 设置UID权限的两种方式(4代表UID)

    chmod 4755 文件名

    chmod u+s 文件名

    • SetGID

    • 针对文件
      1. 只有可执行二进制程序才能设定SUID权限
      2. 命令执行者对文件要有x权限
      3. 命令执行者在执行时应获得拥有者权限
      4. SetUID只在程序执行过程中生效,执行完成就失效
    • 针对目录
      1. 普通用户必须具备rx权限,才能进入
      2. 普通用户在此目录中的有效组,会变成此目录的所属组
      3. 目录被授予SGID权限后,普通用户对此目录拥有w权限时,新建的文件默认所属组是此目录的所属组。
    • 设置GID的两种方式(2代表SGID)

    chmod 2755 文件名

    chmod g+s 文件名

    • SBIT

    • 针对目录

            一旦给某个目录赋予最大权限777,若该目录由其他用户创建的文件,即便是root用户创建的文件,普通用户虽然不可以直接删除该文件,但是可以通过删除该目录来达到删除该目录下的所有文件,相当于也可以把其他用户创建的文件删除。

            通过赋予粘着位,可以限制不同的普通用户只能删除自己所建立文件,而不能删除其他用户所建立的文件。

            系统默认由粘着位权限的文件,如:/tmp

    • 设置粘着位

    chmod 1755 目录名

    chmod o+t 目录名

    • 取消粘着位

    chmod 0755 目录名

    chmod o-t 目录名

    • umask 0022

    要想永久改变umask值,则可以修改文件/etc/bashrc,在文件中添加一行umask 027。即该文件的权限是777-027=750

    网安小菜鸡
  • 相关阅读:
    TeamX 专为中小团队思考的...团队协作工具
    8 月直播课抢先看 | 代码质量实战 + 微服务项目实战课程报名中
    CODING DevOps 代码质量实战系列第一课,本周开讲!
    CODING 现已支持墨刀原型引入
    CODING 企业微信小程序上线了
    CODING DevOps + Nginx-ingress 实现自动化灰度发布
    第二届腾讯运维技术开放日来啦!
    前端智造,内容新生
    kafka的特性初探
    弄懂一致性哈希后我打通了redis分区集群的原理
  • 原文地址:https://www.cnblogs.com/jdr-gbl/p/13151711.html
Copyright © 2020-2023  润新知