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

Shell: 解决文件复制后权限变化问题

你遇到的问题是:用 cp 命令复制文件后,文件权限从原来的 755 变成了 750。
原因可能有以下几种:

1. umask 设置影响

umask 是 Linux 下控制新建文件/目录默认权限的机制。
当你用 cp 复制文件时,如果没有加 -p 参数,目标文件的权限会受到当前 shell 的 umask 影响。
比如你的脚本里有 umask 027,这会导致新建文件/目录权限去掉 group 的写权限和 other 的所有权限。

  • 755(rwxr-xr-x)
  • umask 027 会去掉 group 的 w,other 的所有权限
  • 结果就是 750(rwxr-x—)

2. cp 命令参数

  • cp 默认不会保留原文件权限。
  • 如果你想保留原文件的权限、属主、时间戳等信息,应该加 -p 参数:
cp -p 源文件 目标文件

3. 脚本或环境自动修改

你提供的 chmod_file.sh 脚本里有对目录和文件的权限修改(比如 chmod 750 "$dir"),如果你复制后又执行了这个脚本,也会把权限改成 750。


解决方法

  1. 复制时保留权限
    cp -p 复制文件:

    cp -p 源文件 目标文件
    
  2. 检查 umask 设置
    查看当前 shell 的 umask:

    umask
    

    如果是 027,说明新建文件/目录默认权限会比 755 少一些。

  3. 检查脚本是否有 chmod 操作
    如果有自动化脚本(比如你发的 chmod_file.sh),看看里面是否有把权限改成 750 的逻辑。


总结:
你遇到的权限变化,最常见的原因是 umask 设置和 cp 没有加 -p 参数。
建议用 cp -p,并检查是否有脚本自动修改权限。


是的,cp -rfp 是可以的,参数含义如下:

  • -r:递归复制目录及其内容(如果是目录的话必须加)
  • -f:强制覆盖目标文件(如果目标已存在则直接覆盖)
  • -p:保留原文件的权限、时间戳、属主等信息

所以,如果你想递归复制目录,并且保留权限、时间戳等信息,推荐用:

cp -rfp 源路径 目标路径

如果只是复制单个文件,cp -fp 就可以了,不需要 -r


注意:

  • -p 参数是关键,它能保留原有的权限(比如 755),否则会受到 umask 影响。
  • 如果你复制的是目录,必须加 -r

总结:

  • 复制文件并保留权限:cp -fp 源文件 目标文件
  • 递归复制目录并保留权限:cp -rfp 源目录 目标目录
http://www.xdnf.cn/news/12491.html

相关文章:

  • 两阶段提交
  • 7.2.1_顺序查找
  • Linux 初始化与服务管理全解析:rc.d、systemctl与service对比
  • 我用AI降低AI率:一次“用魔法打败魔法”的实验
  • 深入理解 Python `asyncio` 的子进程协议(Subprocess Protocol)
  • 离散傅里叶级数(DFS)的用途
  • Qt生成日志与以及捕获崩溃文件(mingw64位,winDbg)————附带详细解说
  • DevSecOps新理念
  • 【信息系统项目管理师-选择真题】2025上半年(第二批)综合知识答案和详解(回忆版)
  • flex布局 flex:1里面的盒子内容过多溢出处理
  • FISCO-BCOS 联盟链 caliper测试示例非常完善
  • vxe-table 如何设置单元格垂直对齐
  • PP-OCRv5_server_det.yml参数解释
  • Java中==和equals的区别
  • 如何使用索引和条件批量更改Series数据
  • VS如何编译QuaZip库
  • MPO接口型光模块的失效检测
  • boost::qvm 使用示例
  • EtherNet/IP转DeviceNet协议网关详解
  • 手机号段数据库的作用
  • 【技术】跨设备链路聚合的技术——M-LAG
  • 扫地机器人舵机方案升级,舵机品牌伟创动力Kpower方案评测
  • MS31912TEA 多通道半桥驱动器 氛围灯 照明灯 示宽灯 转向灯驱动 后视镜方向调节 可替代DRV8912
  • UFC911B108 3BHE037864R0108
  • 电工基础【8】常用的电气元件符号
  • 发版前后的调试对照实践:用 WebDebugX 与多工具构建上线验证闭环
  • 五子棋网络对战游戏的设计与实现设计与实现【源码+文档】
  • c++ set与multiset的介绍
  • ​​TPS3808​​低静态电流、可编程延迟电压监控电路,应用笔记
  • 2025服装收银系统推荐:智能管理助力服装商家高效经营