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

Linux中chmod命令

Linux 中 chmod 命令用法详解

chmod(change mode)是 Linux 中用于修改文件或目录权限的核心命令。其权限系统基于三类用户:

  1. 所有者(u, user):文件创建者
  2. 所属组(g, group):文件关联的用户组
  3. 其他用户(o, others):系统其他用户

权限分为三种操作:

  • (r, 4):查看文件内容/目录列表
  • (w, 2):修改文件/在目录增删文件
  • 执行(x, 1):运行程序/进入目录

一、符号模式(直观易用)

通过字母组合操作权限:

chmod [用户类别][操作符][权限] 文件名

  • 用户类别u(所有者), g(组), o(其他), a(所有用户)
  • 操作符+(添加), -(移除), =(精确设置)
  • 权限r, w, x
常用示例:
  1. 为所有者添加执行权限:
    chmod u+x script.sh
    

  2. 为组移除写权限:
    chmod g-w document.txt
    

  3. 设置其他用户仅有读权限:
    chmod o=r config.cfg
    

  4. 所有用户添加读写权限:
    chmod a+rw data.log
    


二、数字模式(高效精确)

用三位八进制数表示权限组合(范围 0-7):

  • 4 = 读(r)
  • 2 = 写(w)
  • 1 = 执行(x)

权限值相加计算:

  • 7 (4+2+1):读写执行
  • 6 (4+2):读写
  • 5 (4+1):读执行

命令格式:

chmod [三位数字] 文件名

常用示例:
  1. 所有者读写执行(7),组读执行(5),其他无权限(0):
    chmod 750 backup.sh
    

  2. 所有用户可读可执行(目录常用):
    chmod 555 public_dir/
    

  3. 仅所有者可读写(敏感文件):
    chmod 600 secret.key
    


三、高级用法
  1. 递归修改目录权限(加 -R 参数):
    chmod -R 755 /var/www/  # 目录及子文件全部设为755
    

  2. 参照文件权限(用 --reference):
    chmod --reference=source.txt target.txt  # 复制source权限到target
    

  3. 特殊权限位(需谨慎使用):
    • SUID(4):允许临时获取所有者权限
      chmod 4755 /usr/bin/program
      

    • SGID(2):目录中新文件继承组权限
      chmod 2770 /shared/team_dir
      


四、权限查看

使用 ls -l 查看当前权限:

ls -l file.txt
# 输出示例:-rwxr-xr-- 1 user group 1024 Jan 1 12:00 file.txt

  • 首字段 -rwxr-xr-- 解析:
    -(文件类型)| rwx(所有者) | r-x(组) | r--(其他用户)

⚠️ 注意:

  • 修改系统文件需 sudo 提权
  • 错误权限可能导致安全风险(如 chmod 777 /
  • 目录需有执行权限(x)才能进入
http://www.lryc.cn/news/612708.html

相关文章:

  • JAVA,Maven分模块设计
  • 初识C++类的6个默认成员函数
  • 模拟-38.外观数列-力扣(LeetCode)
  • 【数据库】如何从本地电脑连接服务器上的MySQL数据库?
  • 国内主流数据集成厂商有哪些?有那些免费的数据集成平台?
  • 【Java】Predicate使用案例
  • 【CS创世SD NAND征文】额贴式睡眠监测仪的数据守护者:存储芯片如何实现7×24小时安眠状态下的全时稳定记录
  • Nuclei漏洞扫描工具(除了常见漏洞还支持CMS常见漏洞Gitlab、Jira、Splunk、Elastic)
  • 2025年主流开源音视频播放项目深度解析
  • Java技术栈/面试题合集(20)-运维与线上问题排查篇
  • nvm安装,nvm管理node版本
  • 【数据结构初阶】--排序(五)--计数排序,排序算法复杂度对比和稳定性分析
  • MATLAB科研数据可视化
  • 【CDA案例】数据分析案例拆解:解锁数据分析全流程!
  • 图像认知与OpenCV——图像预处理4
  • 计算机视觉--opencv(代码详细教程)
  • Java垃圾回收(GC)探析
  • 网络可视,运维无忧:分钟级定位,告别盲目扩容
  • 华为开源CANN,再次释放“昇腾转向”信号
  • spring boot学习计划
  • Qt: WA_DontCreateNativeAncestors
  • QT5.15 mingw
  • qt的元对象系统详解
  • B站,视频号怎么下载?,猫抓cat-catch离线版下载,Chrome扩展插件
  • 【Java】HashMap 的遍历方式有哪些?哪种更高效?
  • 什么是键值缓存?让 LLM 闪电般快速
  • OpenCV的关于图片的一些运用
  • 数据分析进阶——53页跨境数据分析【附全文阅读】
  • 僵尸进程问题排查
  • Mac+Chrome滚动截图