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

【Linux】常用命令 拥有者和权限(四)

常用命令 拥有者和权限

  • 1. Linux 中的文件拥有者与权限概念
    • 1.1 权限类型
    • 1.2 权限表示方法
    • 1.3 常用命令
    • 1.4 改变权限
      • chmod(change mode)
    • 1.5 改变拥有者
    • 1.6 查询当前登录用户所属组
    • 1.7 示例组合
  • 2. chgrp 命令
    • 2.1 基本语法
      • 2.1.1 修改单个文件的所属组
      • 2.1.2 修改目录及其所有子文件的所属组
      • 2.1.3 批量修改多个文件
    • 2.2 日常使用场景

1. Linux 中的文件拥有者与权限概念

在Linux中,每个文件和目录都有 拥有者(owner)、所属组(group) 和 权限(permissions)

  • 拥有者(User/Owner):创建文件的用户。可以对文件有读、写、执行权限。
  • 所属组(Group):文件属于某个组,组里的其他用户可以根据组权限访问。
  • 其他人(Others):不属于文件拥有者也不属于文件所属组的用户。

1.1 权限类型

权限字母含义
r可以查看文件内容,或列出目录内容
w可以修改文件内容,或在目录内创建/删除文件
执行x可以执行文件(脚本/程序),或进入目录

权限分三组:
1.用户权限(User / u):文件拥有者的权限
2.组权限(Group / g):文件所属组的权限
3.其他人权限(Others / o):其他人的权限

示例:

-rwxr-xr--

解释:

  • 第一个 -:表示这是普通文件(d 表示目录)
  • rwx:拥有者可以读、写、执行
  • r-x:所属组可以读和执行,但不能写
  • r–:其他人只能读

1.2 权限表示方法

Linux 支持两种方式表示权限:

  1. 符号法:如 rwxr-xr--

  2. 数字法(八进制):如 754

    • r = 4, w = 2, x = 1

    • 分别对用户、组、其他人求和:

      • rwx = 4+2+1 = 7
      • r-x = 4+0+1 = 5
      • r-- = 4+0+0 = 4
    • 所以 -rwxr-xr-- → 754

1.3 常用命令

查看文件权限

ls -l

示例输出

-rw-r--r-- 1 user1 group1 1024 Aug 27 14:00 file.txt
  • -rw-r--r--:权限
  • 1:硬链接数
  • user1:文件拥有者
  • group1:所属组
  • 1024:文件大小(字节)
  • Aug 27 14:00:最后修改时间
  • file.txt:文件名

1.4 改变权限

chmod(change mode)

符号法chmod u+x file.txt    # 给拥有者增加执行权限
chmod g-w file.txt    # 去掉组的写权限
chmod o=r file.txt    # 其他人只有读权限
数字法chmod 755 file.txt    # 用户:rwx, 组:r-x, 其他人:r-x
chmod 644 file.txt    # 用户:rw-, 组:r--, 其他人:r--

1.5 改变拥有者

chown

chown user2 file.txt          # 改变文件拥有者为 user2
chown user2:group2 file.txt   # 改变拥有者和所属组

chgrp(change group)

chgrp group2 file.txt          # 仅改变所属组

1.6 查询当前登录用户所属组

方法1:

groups

输出示例:

user1 : user1 wheel docker

方法2:

id

输出示例:

uid=1000(user1) gid=1000(user1) groups=1000(user1),10(wheel),992(docker)

1.7 示例组合

# 查看文件
ls -l file.txt
# 修改权限
chmod 750 file.txt
# 修改拥有者和组
chown alice:staff file.txt
# 验证修改
ls -l file.txt

2. chgrp 命令

chgrp(change group)用于改变文件或目录的所属组。

因为Linux文件系统中每个文件都有拥有者和所属组,而 chgrp 就是修改 所属组的工具。

2.1 基本语法

chgrp [选项] <新组名> <文件或目录>

常用选项:

  • -R:递归修改目录下所有文件/子目录的组
  • -v:显示处理信息(verbose)
  • -c:只显示实际修改过的文件

2.1.1 修改单个文件的所属组

把 project.txt 的组改为 developers

chgrp developers project.txt

配合 ls -l 查看结果

ls -l project.txt# 修改前
-rw-r--r-- 1 alice users 1024 Aug 27 15:00 project.txt# 修改后
-rw-r--r-- 1 alice developers 1024 Aug 27 15:00 project.txt

2.1.2 修改目录及其所有子文件的所属组

把 /opt/app 目录以及其下所有文件/目录的所属组改为 staff

chgrp -R staff /opt/app

2.1.3 批量修改多个文件

chgrp dev file1 file2 file3

2.2 日常使用场景

在日常开发和运维中,chgrp常用于团队协作和权限控制:

✅ 场景 1:多人共享目录

  • 比如 /var/www/html 目录要给前端组(frontend)和后端组(backend)共同使用。

  • 做法:

chgrp -R frontend /var/www/html# 给文件/目录的 所属用户组 增加读写权限
chmod -R g+rw /var/www/html

✅ 场景 2:部署应用

部署在 /opt/app 下的应用,默认属组可能是 root。

运维人员通常会修改为应用运行组,比如:

chgrp -R tomcat /opt/app

✅ 场景 3:日志共享

  • 多个服务需要写同一份日志文件。
  • 通常会把日志文件目录的组改成 loggroup
chgrp -R loggroup /var/log/myapp
chmod -R g+rw /var/log/myapp
http://www.dtcms.com/a/353829.html

相关文章:

  • Python随机选择完全指南:从基础到高级工程实践
  • 安全向量模板类SiVector
  • vue 前端 区域自适应大小
  • AWS申请增加弹性IP配额流程
  • 《Vuejs设计与实现》第 17 章(编译优化)
  • 机器视觉学习-day05-图片颜色识别及颜色替换
  • # 快递单号查询系统:一个现代化的物流跟踪解决方案
  • YOLO12n-Deepsort多目标跟踪之昆虫数据集
  • 【C++标准库】<ios>详解基于流的 I/O
  • 科技赋能生态,智慧守护农林,汇岭生态开启农林产业现代化新篇章
  • C# OpenCVSharp 实现物体尺寸测量方案
  • Whisper JAX:突破性实时语音识别加速框架,性能提升70倍的开源解决方案
  • Spring : IOC / DI (控制反转 / 依赖注入)
  • C/C++---前缀和(Prefix Sum)
  • 【重学MySQL】九十一、MySQL远程登录
  • 理智讨论可以将服务器内存占用限制到80%吗?
  • LeaferJS创建支持缩放、平移的画布,并绘制简单图形
  • 关于git的安装(windows)
  • linux部署overleaf服务器
  • 深度学习(鱼书)day12--卷积神经网络(后四节)
  • 动态规划:硬币兑换(有趣)
  • 嵌入式-定时器的时基单元,自制延迟函数-Day21
  • Python常见设计模式1: 创建型模式
  • 【git】P1 git 分布式管理系统简介
  • linux安装docker compose
  • 企业如何构建全面的高防IP防护体系?
  • 【GPT入门】第60课 openCompose实践图文介绍指南
  • 【GM3568JHF】FPGA+ARM异构开发板 使用指南:USB接口
  • IBMS-建筑内分散的子系统(如 BA、安防、消防、能源、电梯等)进行数据互联、功能协同与智能管控
  • Linux--->网络编程(TCP并发服务器构建:[ 多进程、多线程、select ])