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

Linux文件权限管理与ACL配置指南

Linux文件权限管理与ACL配置

一、文件属性解读

示例: drwxr-xr-x. 3 root root 16 May 28 09:28 home

字段含义
d文件类型(目录)
rwx所有者权限(读、写、执行)
r-x所属组权限(读、执行)
r-x其他用户权限(读、执行)
3引用计数(硬链接计数)
root所有者
root所属组
16大小(字节)
May 28 09:28最后修改时间
home文件/目录名

二、权限表示方法

权限字符数字
r4
w2
执行x1

三、修改文件权限 (chmod)

1. 数字模式
chmod 777 test1    # 所有者、组、其他用户均赋予 rwx 权限
chmod 644 file.txt # 所有者:rw-,组和其他:r--
2. 字符模式
  • 操作符:
    • + 添加权限
    • - 移除权限
    • = 设置精确权限
  • 用户类型:
    • u 所有者
    • g 所属组
    • o 其他用户
    • a 所有用户

常用命令:

chmod o+w test2      # 其他用户添加写的权限
chmod go-rw test3    # 所属组和其他用户移除读写权限
chmod a-rw test4     # 所有的用户移除读写权限
chmod u+x script.sh  # 允许所有者执行脚本
chmod -R g+w /home/test5/  # 递归为目录下所有的文件和目录的所属组添加写的权限

四、修改所有者/组 (chown/chgrp)

chown linux /home/test6        # 修改所有者
chown linux:linux /home/test7  # 同时修改所有者和所属组
chgrp linux /home/test8        # 修改所属组
chgrp -R linux /home/test9/    # 递归修改目录下所有文件的所属组

五、特殊权限

权限作用场景设置方法数字标识
SUID二进制文件chmod u+s /usr/bin/mkdir4xxx (如 4755)
SGID二进制文件/目录chmod g+s /tmp/test2xxx (如 2770)
Sticky目录(防误删)chmod o+t /tmp/test1xxx (如 1777)

说明:

  • SUID:应用于二进制文件,调用二进制文件的所有者的身份来执行。
  • SGID:应用于二进制文件或者目录,当作用在目录的时候,拥有继承权限。
  • Sticky:应用于目录,对目录使用了sticky权限,对该目录具有写入权限
    的任何用户(root用户除外)仅能删除自己为属主的文件或目录。

六、默认权限与 umask

用户类型新建目录权限新建文件权限默认 umask
root755 (rwxr-xr-x)644 (rw-r–r–)0022
普通用户775 (rwxrwxr-x)664 (rw-rw-r–)0002

计算示例:

  • root 用户创建文件:666 - 022 = 644
  • 普通用户创建目录:777 - 002 = 775

七、ACL 高级权限控制

1. 设置 ACL (setfacl)
setfacl -m u:admin:rw a           # 只允许 admin 用户对文件 a 有读写权限setfacl -m g:lisi:rw a            # 只允许 lis i组对文件 a 有读写权限
setfacl -m u:admin:rwx b/         # 只允许 admin 用户对目录 b/ 有读写权限
setfacl -m g:lisi:rwx  b/		  # 只允许 lisi 组队目录 b/ 有读写权限
2. 继承 ACL(默认权限)
setfacl -m u:admin:rwx b/         # 需先设置目录本身的 ACL
setfacl -m d:u:admin:rwx b/       # 只允许 admin 用户对目录 b/ 有读写权限,且在目录b/下新建的文件或目录
继承目录b/的权限
3. 删除 ACL
setfacl -k b/   # 删除目录 b/ 的 default 权限(删除继承)
setfacl -b a    # 删除文件 a 的 acl 权限

总结命令速查

功能命令示例
数字修改权限chmod 755 file
递归修改组chgrp -R dev /project/
设置 SUIDchmod u+s /usr/bin/file
设置 SGID 目录chmod g+s /shared/
设置 ACL 继承setfacl -m d:g:dev:rwx /shared/
http://www.xdnf.cn/news/1240939.html

相关文章:

  • wpf Image 转 90 度
  • 9.感知机、神经网络
  • 国产化Word处理控件Spire.Doc教程:Python提取Word文档中的文本、图片、表格等
  • Excel商业智能分析报表 【销售管理分析仪】
  • 百度翻译详解:包括PaddleNLP、百度AI开放平台、接口逆向(包括完整代码)
  • Android工程命令行打包并自动生成签名Apk
  • Go语言高并发价格监控系统设计
  • 向量空间模型
  • 从exec到Shell:深度解析Linux进程等待,程序替换与自主Shell实现
  • 抛出自定义异常
  • Android UI 组件系列(九):ListView 性能优化与 ViewHolder 模式实战
  • 复现论文《A Fiber Bragg Grating Sensor System for Train Axle Counting》
  • 多级表头的导出
  • 如何使用EF框架操作Sqlite
  • 多租户字典管理系统完整设计
  • TCP 协议的“无消息边界”(No Message Boundaries)特性
  • shell脚本tcpdump抓取数据解析执行关机指令
  • PyCharm代码规范与代码格式化插件安装与使用:pylint和autopep8
  • 质押和抵押有什么区别
  • 【Java】一篇详解HashMap的扩容机制!!
  • 2025年8月4日私鱼创作平台v1.0.4公测版更新发布-完成大部分功能包含关注创作者以及发布作品及合集功能优雅草科技
  • 音视频学习笔记
  • 深入解析 Apache Tomcat 配置文件
  • Planner 5D v2.29.0 安卓高级解锁版,手机3D家装,全套家具免费
  • 鸿蒙开发-端云一体化--云数据库
  • [spring-cloud: 负载均衡]-源码分析
  • Nginx服务做负载均衡网关
  • 【项目实践】在系统接入天气api,根据当前天气提醒,做好plan
  • 基于Java的AI工具和框架
  • 【异常案例分析】使用空指针调用函数(非虚函数)时,没有崩溃在函数调用处,而是崩在被调用函数内部