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

news2025/7/19 12:13:10

当你在一个工作目权限为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.coloradmin.cn/o/2385303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java中的String的常用方法用法总结

1.1 String (1)声明 (2)字符串常量 存储字符串数据的容器:private final char value[] 字符串常量都存储在字符串常量池(StringTable)中 字符串常量池不允许存放两个相同的字符串常量 &#xff…

QGIS如何打开 ARCGIS的mxd工程文件

“SLYR”是一款由著名开源组织“北路开源”开发的一套QGIS兼容和转换ARCGIS样式、工程、设置信息的插件!其主要功能为: 最近项目需要,我使用了一些功能,发现其对中文环境及中文信息支持不太好,还有一些其它BUG&#xf…

基于微信小程序的智能问卷调查系统设计与实现(源码+定制+解答)基于微信生态的问卷管理与数据分析系统设计

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

React 如何封装一个可复用的 Ant Design 组件

文章目录 前言一、为什么需要封装组件?二、 仿antd组件的Button按钮三、封装一个可复用的表格组件 (实战)1. 明确需求2. 设计组件 API3. 实现组件代码4. 使用组件 三、封装组件的最佳实践四、进阶优化 总结 前言 作为一名前端开发工程师,在日常项目中&a…

Canvas SVG BpmnJS编辑器中Canvas与SVG职能详解

Canvas详解与常见API 一、Canvas基础 核心特性 • 像素级绘图:Canvas是基于位图的绘图技术,通过JavaScript操作像素实现图形渲染,适合动态、高性能场景(如游戏、数据可视化)。 • 即时模式:每次绘制需手动…

dify多实例部署,一台机器部署多个dify实例

dify多实例部署 目的 实现在一台机器上,部署多个dify的实例。比如一个部署1.2版本,一个部署1.3版本。废话没有,直接上干货。 前提 你的电脑已经部署了一个dify实例,并成功运行。比如已经部署成功0.15.3版本。 步骤如下&#…

ML 48.机器学习之临床生存树(rpartSurv)

简介机器学习中生存树(Survival Tree)的原理详解 生存树是结合决策树与生存分析的机器学习模型,主要用于处理带有时间-事件数据(包含删失数据)的预测问题。其核心目标是:通过树状结构对数据进行递归分割&am…

HarmonyOS 应用开发,如何引入 Golang 编译的第三方 SO 库

本指南基于笔者临时修复的 ohos_golang_go 项目fork,解决HO 应用导入 cgo编译产物时的 crash 问题。 1. 下载 ohos_golang_go git clone https://gitcode.com/deslord/ohos_golang_go.git📌 该仓库为笔者临时修复版本,修复了 CGO 编译模式下…

一体化雷达波明渠流量计简介

一、技术定义与核心原理 一体化雷达波明渠流量计是基于微波技术的全自动流量监测设备,采用 24G K 波段平面雷达技术,通过非接触式测量方式实现对明渠、河道、排水管网等场景的水位、流速及流量监测。其核心原理是利用雷达发射高频电磁波,经水…

Pr -- 耳机没有Pr输出的声音

问题 很久没更新视频号了,想用pr剪辑一下,结果使用Pr打开后发现耳机没有Pr输出的声音 解决方法 在编辑--首选项-音频硬件中设置音频硬件的输出为当前耳机设备

白皮精读:2024年国家数据基础设施建设指引【附全文阅读】

《国家数据基础设施建设指引》提出建设覆盖数据采集至安全全链条的新型基础设施,目标到 2029 年形成横向联通、纵向贯通的格局,聚焦数据可信流通、算力协同、高速传输、安全保障四大功能,明确技术架构与重点方向,强调政府与市场协同,分阶段推进试点及规模化部署,为数字中…

穿屏技巧:Mac-Windows一套鼠标键盘控制多台设备 (sharemouse6.0-Keygen)| KM-401A

文章目录 引言I sharemouse6.0介绍功能介绍关闭自动更新安装包II 安装系统对应的sharemouse软件Windowsmac版本III 知识扩展:SCP、FTP、SSH文件传输SCP配置SSH密钥免密登录FTP(File Transfer Protocal,文件传输协议)引言 基于USB进行同步键盘和鼠标事件,更流畅。 基于局域…

【写在创作纪念日】基于SpringBoot和PostGIS的各省东西南北四至极点区县可视化

目录 前言 一、空间检索简介 1、空间表结构 2、四至空间检索 二、前后端实现 1、后端实现 2、前端集成 三、成果展示 1、东部省份 2、西部省份 3、南部省份 4、北部省份 5、中部省份 四、总结 前言 在当今数字化时代,地理信息数据的分析与可视化对于众…

如何制作可以本地联网搜索的MCP,并让本地Qwen3大模型调用搜索回答用户问题?

环境: SearXNG Qwen3-32B-FP8 vllm 0.8.5 问题描述: 如何制作可以本地联网搜索的MCP,并让本地Qwen3大模型调用搜索回答用户问题? 解决方案: 一、安装searxng 1.按需新建模型相关文件夹 mkdir MCP chmod 777 /mnt/program/MCP2.配置conda源 nano ~/.condarc nano…

服务器硬盘虚拟卷的处理

目前的情况是需要删除逻辑卷,然后再重新来弄一遍。 数据已经备份好了,所以不用担心数据会丢失。 查看服务器的具体情况 使用 vgdisplay 操作查看服务器的卷组情况: --- Volume group ---VG Name vg01System IDFormat …

一个国债交易策略思路

该国债交易策略的核心在于通过分析历史价格数据来识别市场趋势,并在趋势确认时进行开仓操作。策略的设计思路结合了价格波动范围的计算和市场波动性的评估,旨在捕捉市场的短期趋势并控制风险。 首先,策略通过对过去5根K线的最高价和最低价进行…

【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何形成高斯椭球

【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何形成高斯椭球 文章目录 【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何形成高斯椭球前言高斯函数一维高斯多维高斯 椭球基本定义一般二次形式 3D高斯椭球3D高斯与椭球的关系各向同性(Isotropic)和…

手写ES6 Promise() 相关函数

手写 Promise() 相关函数: Promise()、then()、catch()、finally() // 定义三种状态常量 const PENDING pending const FULFILLED fulfilled const REJECTED rejectedclass MyPromise {/*定义状态和结果两个私有属性:1.使用 # 语法(ES2022 官方私有字…

【NLP 76、Faiss 向量数据库】

压抑与痛苦,那些辗转反侧的夜,终会让我们更加强大 —— 25.5.20 Faiss(Facebook AI Similarity Search)是由 Facebook AI 团队开发的一个开源库,用于高效相似性搜索的库,特别适用于大规模向…

软件名称:系统日志监听工具 v1.0

软件功能:一款基于 PyQt5 开发的 Windows 系统日志监听工具,适用于系统运维、网络管理、故障排查等场景,具备以下核心功能: 支持监听系统三大日志源:应用程序 / 系统 / 安全日志实时抓取新日志事件,自动滚…