当前位置: 首页 > news >正文

11.Linux 权限管理,控制对文件的访问(ACL)

Linux : 权限管理,控制对文件的访问(ACL)

一、基础文件属性
drwxr-xr-x.  3  root   root   16 May 28 09:28   home
  • 文件类型:首位字符(d=目录,-=文件,l=链接,c=字符,b=块设备)
  • 权限组
    • rwx:所有者权限(读/写/执行)
    • r-x:所属组权限
    • r-x:其他用户权限
  • 元数据
    • 3:引用计数(如果目标是目录,代表子目录个数;如果目标是文件,则是硬链接个数-1)
    • root:所有者
    • root:所属组
    • 16:文件大小(字节)
    • May 28 09:28:最后修改时间

二、权限表示法
类型读®写(w)执行(x)
字符rwx
数字421

三、权限管理
  1. 数字模式
    chmod(change mode)
    -作用:修改文件或目录的访问权限
    -权限类型:包括读(r)、写(w)、执行(x)三种基本权限,分别对应数字 4、2、1
    -适用对象:文件所有者(user)、所属组(group)、其他用户(others)
    -示例:chmod 755 file.txt 表示所有者拥有读 / 写 / 执行权限,所属组和其–他用户拥有读 / 执行权限
    chown(change owner)
    -作用:修改文件或目录的所有者(可以同时修改所属组)
    -只有超级用户(root)可以修改文件的所有者
    -示例:chown user1 file.txt 将文件所有者改为 user1;chown user1:group1 file.txt 同时将所有者改为 user1,所属组改为 group1
    chgrp(change group)
    -作用:专门修改文件或目录的所属组
    -用户必须是目标组的成员才能修改文件的所属组(除非是 root 用户)
    -示例:chgrp group1 file.txt 将文件的所属组改为 group1

    chmod 777 file # 所有用户拥有rwx权限
    chmod 644 file1 # 所有者rw,其他用户只读
    
  2. 符号模式

    使用字母来改变文件的权限
    -----参数设置
    a 所有用户
    u 创建者
    g 同组用户
    o 除去创建者和同组用户之外的用户
    + 增加权限
    - 清除权限
    = 设置唯一权限
    -----常用设置
    g+w – 增加组用户的写权限
    o-rwx – 清除其他用户的全部访问权限
    u+x – 允许文件属主执行文件
    a+rw – 允许所有用户读和写文件
    ug+r – 允许文件属主和属组用户读文件
    g=rx – 设置属组用户只能读和执行文件

    chmod u+x file    # 给所有者增加执行权限
    chmod g-w,o-r file.txt # 移除组写权限和其他读权限
    chmod a=rw file  # 所有用户设为读写
    chmod -R g+w /data/    # 递归设置目录内所有文件
    

四、所有权管理
chown user:group file.txt   # 同时修改所有者和所属组
chown -R admin /project/    # 递归修改目录所有者
chgrp devteam /src/         # 修改目录所属组

五、特殊权限
权限符号数字作用场景示例
SUIDu+s4xxx二进制文件chmod 4755 /usr/bin/mkdir
SGIDg+s2xxx目录/二进制文件chmod 2770 /shared/
Stickyo+t1xxx目录chmod 1777 /tmp/
  • SUID:以文件所有者身份执行(如passwd命令)
  • SGID:目录中新文件继承父目录组权限
  • Sticky:仅允许所有者删除自己的文件(如/tmp

六、ACL高级权限控制
  1. 设置ACL

    # 用户权限
    setfacl -m u:misa:rw file          #只允许用户misa对文件有读写权限
    setfacl -m u:misa:rwx -R /dir/      # 递归设置
    setfacl -m d:u:misa:rwx /dir/       # 设置默认ACL(新文件继承)# 组权限
    setfacl -m g:devs:r-- project.doc
    
  2. 查看ACL

    getfacl file.txt
    # 输出示例:
    # file: file.txt
    # owner: root
    # group: misa
    user::rw-
    user:misa:rwx      # 用户misa有rwx权限
    group::r--
    group:note:r--     # 组note有读权限
    mask::rwx
    other::r--
    
  3. 删除ACL

    setfacl -x u:lisi file.txt  # 删除单条ACL
    setfacl -b file.txt         # 删除文件ACL权限
    setfacl -k /dir/            # 删除目录的default权限(删除继承)
    

七、默认权限规则
用户类型目录权限文件权限Umask值
root755 (rwxr-xr-x)644 (rw-r–r–)022
普通用户775 (rwxrwxr-x)664 (rw-rw-r–)002
  • Umask计算默认权限 - umask = 实际权限

  • 修改Umask

    umask 022  # 设置当前会话umask
    
http://www.lryc.cn/news/610063.html

相关文章:

  • git操作命令和golang编译脚本
  • 【Spring】SpringBoot 自动配置,@ComponentScan、@Import、ImportSelector接口
  • 【QT】安装与配置
  • 计量学基础 - (二)计量单位制
  • NX982NX984美光固态闪存NX992NY102
  • 高速信号设计之 PCIe6.0 篇
  • Linux之Shell脚本快速入门
  • 【2025最新】Spring Boot + Spring AI 玩转智能应用开发
  • 微服务的编程测评系统10-竞赛删除发布-用户管理-登录注册
  • 雷达系统工程学习:自制极化合成孔径雷达无人机
  • Flask全栈入门:打造区块链艺术品交易所
  • Oracle 定时任务相关
  • Tomcat虚拟主机配置详解和多实例部署
  • k8s的毫核
  • 太阳光模拟器塑料瓶暴晒试验
  • Vue2实现docx,xlsx,pptx预览
  • P1002 [NOIP 2002 普及组] 过河卒
  • ubuntu22.04系统实践 linux基础入门命令(三) 用户管理命令
  • SpringMVC实战指南:从环境搭建到功能实现全解析
  • 先知模型或者说从容的模型
  • RTOS如何保证实时性
  • React 入门:环境搭建、JSX、组件、事件与状态管理
  • 云原生攻防6(Kubernetes扩展知识)
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第五天(jQuery函数库)
  • 官宣朱珠成为集团品牌代言人,转转推动二手消费新风尚
  • Linux-Day02.Linux指令
  • 如何设计和实施高效的向量化数据检索解决方案
  • Apache IoTDB(3):时序数据库 IoTDB Docker部署实战
  • 大模型部署、nvidia-smi、token数
  • Linux服务器管理MySQL数据库的常见命