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

Linux(Ubuntu)新建文件权限继承问题

当你在一个工作目权限为777的文件下,新建一个文件的时候,就有可能发生,新建的这个文件,权限和其他文件,或者工作目录不一致的问题,我们不可能每次新建一个文件,就要

sudo chmod -R 777 /PATH

所以就不得不聊一聊权限继承的问题,即我们如何让新建的文件权限与目录保持一致

一 通过ACL设置,继承权限(部分文件)(推荐) 

1. 确保Linux系统支持ACL

下载(Ubuntu)

sudo apt install acl

2. 为目录设置默认ACL规则

将目标目录的权限模式(如 777)设置为默认继承规则:

  • -d:设置默认 ACL(对新创建的文件和目录生效)。

  • -m:修改 ACL 条目。

  • u::rwx,g::rwx,o::rwx:用户、组、其他用户均拥有 rwx 权限。

  • -R:递归应用到现有子目录(可选)。

  • sudo setfacl -Rdm u::rwx,g::rwx,o::rwx /PATH

3. 验证ACL规则

查看目录内的ACL配置:

getfacl /path/

输出应该为:

default:user::rwx
default:group::rwx
default:other::rwx

 

 4. 测试新建文件的权限

touch /path/newfile.txt
ls -l /path/newfile.txt

新建文件test04.sh与03.sh的区别

 

二 通过umask 设置,继承权限(全局)

通过修改 umask 值,控制新创建文件的默认权限。但此方法影响整个用户会话,存在安全风险。

1. 临时修改 umask(仅当前终端有效)

在终端中设置 umask 为 000

000:新建文件权限为 666(rw-rw-rw-),目录为 777(rwxrwxrwx)。

umask 000

 2. 永久修改 umask(谨慎操作)

1. 编辑用户配置文件(如 ~/.bashrc),添加:
umask 000
2. 然后重新加载配置:
source ~/.bashrc

三 权限继承原理与注意事项

  1. ACL 与 umask 的优先级

    • 若目录设置了默认 ACL,新文件的权限由 ACL 规则与 umask 共同决定

    • 例如:若 umask 为 022,则文件最终权限为 ACL权限 & ~umask(即 666 & ~022 = 644)。

    • 推荐优先使用 ACL,避免全局修改 umask。

  2. 文件与目录的权限差异

    • 文件默认不继承执行权限(x),需手动添加(如通过 ACL 显式设置)。

    • 目录需要执行权限(x)才能进入,因此默认应保留 rwx

  3. 安全性警告

    • 风险:开放 777 权限可能导致恶意用户篡改或删除文件。

    • 建议:仅在测试环境或完全信任的场景下使用,生产环境应精细化控制权限。


总结:

  • 最佳方案:使用 setfacl 设置目录的默认 ACL 规则,实现权限自动继承。

  • 应急方案:临时修改 umask,但需注意安全影响。

  • 验证命令:通过 getfacl 和 ls -l 检查权限是否符合预期。

http://www.xdnf.cn/news/595333.html

相关文章:

  • MQTT-主题(Topic)
  • DeepSeek:以开源之力,引领AI技术新风潮
  • MySQL初阶:JDBC
  • 海盗王客户端创建角色遮罩层修改成自适应窗口尺寸
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.10)
  • QT入门基础
  • python训练营打卡第31天
  • 【C++】控制台小游戏
  • 【人工智能】低代码基础技术讲解,规则引擎,在低代码平台上的作用,有哪些规则引
  • 前端请求状态出现CORS错误
  • CarPlay有线连接流程
  • 陕西安全员考试报名流程是怎样的?
  • 【Python3教程】Python3 文件(File)方法详解
  • 谷歌开源医疗领域多模态生成式AI模型:medgemma-4b-it
  • 完全禁用 Actuator 功能
  • 6个月Python学习计划 Day 1
  • Baklib企业知识中台AI实践
  • 2025年重庆水利水电安全员 A证考试精选题
  • Java设计模式
  • 爱博精电正式入驻京东平台,为客户提供更高效、便捷的采购体验
  • 结构型:装饰器模式
  • 项目开发中如何Git如何保持官方补丁更新
  • 工业物联网中隐私保护入侵检测的联邦学习增强型区块链框架
  • YOLOv11模型训练
  • Spring Ioc和Aop,Aop的原理和实现案例,JoinPoint,@Aspect,@Before,@AfterReturning
  • 如何使用小爱音响控制海尔等第三方平台设备
  • 从实验室到产业化:探究FSHD 技术发展史如何重塑显示行业格局?
  • 【物理学】声子:凝聚态物理中的关键概念
  • 视觉理解多模态模型转为API服务
  • 【Hexo】1.搭建本地初始默认的博客