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)才能进入
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值