linux修改用户uid和gid并且修改文件所有权(所属用户及所属用户组)(chown命令、chgrp命令)(批量修改查找并修改文件、目录uid和gid)

文章目录

  • 修改Linux用户UID和GID以及文件所有权
    • 1. 修改用户的UID和GID
      • 1.1 用户UID和GID的概念
      • 1.2 修改用户UID
      • 1.3 修改用户GID
    • 2. 修改文件所有权
      • 2.1 文件所有权的概念
      • 2.2 修改文件所有者(chown命令)
      • 2.3 修改文件所属用户组(chgrp命令)
    • 3. 注意:在Linux系统中,当修改用户的uid或gid后,该用户所拥有的文件的所有者信息并不会自动更改。它们仍然会关联到旧的uid和gid
      • 将所有属于旧uid的文件更改为新的uid
      • 将所有属于旧gid的文件更改为新的gid

修改Linux用户UID和GID以及文件所有权

在Linux系统中,每个用户和用户组都有唯一的数字标识符,分别称为用户ID(UID)和组ID(GID)。在某些情况下,可能需要修改这些值。例如,当将文件从一个环境迁移到另一个环境时,如果在目标环境中的UID和GID与源环境不匹配,则需要进行修改。此外,还可能需要修改文件或目录的所有权。

1. 修改用户的UID和GID

1.1 用户UID和GID的概念

在Linux系统中,用户账号信息包括用户名、密码、用户ID(UID)、用户组ID(GID)等存储在/etc/passwd文件中。每个用户和用户组都有唯一的数字标识符,这就是所说的UID和GID。这两者在系统中用于识别用户或用户组,而不是通过用户名或组名。

cat /etc/passwd

在这里插入图片描述

例如,在/etc/passwd文件中的一行可能看起来像这样:

username:x:1001:1001::/home/username:/bin/bash

其中,第三字段1001就是UID,第四字段1001就是GID。

1.2 修改用户UID

修改用户的UID可以使用usermod命令,其基本格式如下:

sudo usermod -u new_uid username

其中,new_uid是新的用户ID,username是要修改的用户名。

1.3 修改用户GID

修改用户的GID可以使用groupmod命令,其基本格式如下:

sudo groupmod -g new_gid groupname

其中,new_gid是新的组ID,groupname是要修改的组名。

2. 修改文件所有权

2.1 文件所有权的概念

在Linux系统中,每个文件都有一个所有者和一个所属组。所有者是创建文件的用户,所属组则是创建文件用户所在的用户组。文件所有者和所属组可以使用chown和chgrp命令进行修改。

2.2 修改文件所有者(chown命令)

修改文件或目录的所有者可以使用chown命令,其基本格式如下:

sudo chown new_owner filename

其中,new_owner是新的所有者用户名,filename是要修改的文件或目录名。

如果要递归修改目录中所有文件的所有者,可以加-R参数:

sudo chown new_owner dir_name -R

2.3 修改文件所属用户组(chgrp命令)

修改文件或目录的所属用户组可以使用chgrp命令,其基本格式如下:

sudo chgrp new_group filename

其中,new_group是新的用户组名,filename是要修改的文件或目录名。

如果要递归修改目录中所有文件的所属用户组,可以加-R参数:

sudo chgrp new_group dir_name -R

3. 注意:在Linux系统中,当修改用户的uid或gid后,该用户所拥有的文件的所有者信息并不会自动更改。它们仍然会关联到旧的uid和gid

如果想更改文件的所有者,需要手动使用chown和chgrp命令来更改每个文件的所有者和组。

将所有属于旧uid的文件更改为新的uid

例如,如果想将所有属于旧uid的文件更改为新的uid,你可以使用以下命令:

find / -user old_uid -exec chown new_uid {} \;

命令解释:
这个命令的功能是在整个系统中查找所有属于旧UID用户的文件,并将这些文件的所有者更改为新UID。
这个命令的结构分为三个主要部分:

  1. find / -user old_uid: 这个部分的功能是在根目录(/)下查找所有属于旧UID用户的文件和目录。-user参数后跟旧的UID,表示查找所有者UID为old_uid的文件。

  2. -exec: 这个部分是find命令的一个选项,它告诉find命令对找到的每个文件执行后面的命令。在此例中,后面的命令是chown new_uid {},其中chown new_uid是要执行的命令,而{}是一个特殊符号,代表find命令找到的每个文件。

  3. \;: 这个部分是-exec选项的结束标记,表示命令的结束。

所以,整个命令的意思是:在整个系统(从根目录开始)中查找所有属于旧UID用户的文件和目录,并使用chown命令将这些文件和目录的所有者更改为新的UID。

将所有属于旧gid的文件更改为新的gid

类似地,你可以使用以下命令来更改组:

find / -group old_gid -exec chgrp new_gid {} \;

命令解释: 这是一个使用find命令在Linux中查找并更改文件组的示例。下面来详细解释一下这个命令:

  1. find / -group old_gid: 这部分命令会在整个文件系统(由于指定的目录为根目录“/”)中查找所有属于组ID为old_gid的文件和目录。
  2. -exec chgrp new_gid {} \;: 这部分命令对上述查找到的每一个文件或目录执行chgrp命令,将它们的所属用户组改为new_gid。这里的{}是一个特殊符号,代表find命令找到的每一个文件或目录的路径,\;则表示-exec选项的结束。

所以整条命令的意思是:查找文件系统中所有所属用户组为old_gid的文件和目录,并将这些文件和目录的所属用户组改为new_gid。

请注意,这些命令可能需要root权限才能执行,并且在执行之前,建议先备份重要数据以防意外发生。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/256416.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Apache CouchDB 垂直权限绕过漏洞 CVE-2017-12635 已亲自复现

Apache CouchDB 垂直权限绕过漏洞 CVE-2017-12635 已亲自复现 漏洞名称影响版本影响版本 漏洞复现环境搭建漏洞利用 总结 漏洞名称 影响版本 Apache CouchDB是一个开源的NoSQL数据库,专注于易用性和成为“完全拥抱web的数据库”。它是一个使用JSON作为数据存储格式…

设计模式——代理模式(Proxy Pattern)

概述 代理模式是指为其他对象提供一种代理,以控制对这个对象的访问。代理对象在访问对象和目标对象之间起到中介作用。代理对象也可以在不修改目标对象的前提下,提供额外的功能操作,拓展目标对象的功能,比如说在目标对象的某个方法…

LeetCode 1901. 寻找峰值 II:二分查找

【LetMeFly】1901.寻找峰值 II:二分查找 力扣题目链接:https://leetcode.cn/problems/find-a-peak-element-ii/ 一个 2D 网格中的 峰值 是指那些 严格大于 其相邻格子(上、下、左、右)的元素。 给你一个 从 0 开始编号 的 m x n 矩阵 mat &#xff0c…

C#调用阿里云接口实现动态域名解析,支持IPv6(Windows系统下载可用)

电信宽带一般能申请到公网IP,但是是动态的,基本上每天都要变,所以想到做一个定时任务,随系统启动,网上看了不少博文很多都支持IPv4,自己动手写了一个。 (私信可全程指导) 部署步骤…

20231218在Ubuntu18.04下以EXT4格式化HDD

20231218在Ubuntu18.04下以EXT4格式化HDD 2023/12/18 17:24 缘起: 编译一个Android10大概要200GB,编译10个Android10的SDK,3TB的HDD机械硬盘就估计会被填满了! 如果使用rm -rf *这个命令将SDK一个一个逐个地删除,估计2…

强大的电子书阅读器:OmniReader Pro for mac

🔍 OmniReader Pro 是一款专为 Mac 设计的强大阅读工具,它能够帮助你更高效地阅读和处理各种文本内容。无论是电子书、新闻文章、网页文本还是文件资料,OmniReader Pro 都能胜任! ✅ OmniReader Pro 提供了丰富的功能&#xff0c…

UE5 C++(六)— 枚举UENUM、结构体USTRUCT和补充属性说明符

文章目录 枚举(ENUM)第一种方式第二种方式 结构体(USTRUCT)补充属性说明符(ExposeOnSoawn)结构体创建数据表格 枚举(ENUM) 第一种方式 定义枚举 UENUM(BlueprintType) namespace …

java配置+J_IDEA配置+git配置+maven配置+基本语句

当前目录文件夹dir 进入文件夹cd 返回上一级cd.. 创建文件夹:mkdir 文件名删除文件夹:rd 文件夹名, 目录不为空不能直接删 rd /s 带子文件夹一起删 清屏cls 切换d盘才能进入 下载git地址: Git - Downloading Package (g…

Linux网络编程(一):网络基础(上)

参考引用 UNIX 环境高级编程 (第3版)嵌入式Linux C应用编程-正点原子 1. 网络通信概述 网络通信本质上是一种进程间通信,是位于网络中不同主机上的进程之间的通信,属于 IPC 的一种,通常称为 socket IPC,网络通信是为了解决在网络…

德思特EMC RICI测试方案助您对抗电磁设备干扰!

来源:德思特测试测量 德思特方案丨德思特EMC RICI测试方案助您对抗电磁设备干扰! 原文链接:https://mp.weixin.qq.com/s/D8wdQr_reaFG-yppT8nzkw 欢迎关注虹科,为您提供最新资讯! 方案背景 电磁或射频干扰的敏感性&…

【AIGC重塑教育】AI大模型驱动的教育变革与实践

文章目录 🍔现状🛸解决方法✨为什么要使用ai🎆彩蛋 🍔现状 AI正迅猛地改变着我们的生活。根据高盛发布的一份报告,AI有可能取代3亿个全职工作岗位,影响全球18%的工作岗位。在欧美,或许四分之一…

(八)STM32 USART —— 串口通讯

目录 1. 串口通讯协议简介 1.1 物理层 1.1.1 电平标准 1)TTL 电平 2)RS-232 电平 3)RS-485 电平 4)CAN 总线电平 1.1.2 USB 和 串口 的区分 1.1.3 RS-232 信号线 1.2 协议层 1)波特率 2)通讯…

Arcgis中利用模型构建器统一栅格数据的行列号

1、统一(X,Y) 方法:"数据管理工具箱"→"Projections and Transformations"→"Raster"→"Project Raster" 构建模型 这里以行列号最小的栅格(X,Y)为准(其实也就是栅格数据的空…

数据可视化---离群值展示

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

全球通关第一人,分享阿里云新版ACE认证备考攻略~

2022.3月底阿里云针对老版ACE进行了改版,针对云计算技术的发展趋势,新增了云原生等热门技术,同时新版ACE认证新增了实验和面试,全面考查考生的动手能力和理论知识结构,含金量大大提升。 作为阿里云新版ACE全球通关第一…

【智慧之窗】AI驱动产品探索

一.初识 ChatGPT ChatGPT 是由 OpenAI 开发的自然语言处理(NLP)模型,基于 GPT(Generative Pre-trained Transformer)架构。GPT 系列的模型旨在理解和生成自然语言文本。ChatGPT 专注于支持对话性任务,即与…

【remb】twcc 与remb的切换测试

500000bps 70kBps 1 000 000 bps后,图像清晰些了,但在mesh下还是会牺牲了它的及时性;上面的几种情况的延时性很大啊,有流畅度,但延时太大 在twcc策略下,我们看到 220kBps时即大概1.6M时,视频才…

【Spring】09 BeanClassLoaderAware 接口

文章目录 1. 简介2. 作用3. 使用3.1 创建并实现接口3.2 配置 Bean 信息3.3 创建启动类3.4 启动 4. 应用场景总结 Spring 框架为开发者提供了丰富的扩展点,其中之一就是 Bean 生命周期中的回调接口。本文将聚焦于其中的一个接口 BeanClassLoaderAware,介…

Day65力扣打卡

打卡记录 寻找峰值 II&#xff08;二分&#xff09; 链接 class Solution:def findPeakGrid(self, mat: List[List[int]]) -> List[int]:l, r 0, len(mat) - 1while l < r:mid (l r) // 2mx max(mat[mid])if mx > mat[mid 1][mat[mid].index(mx)]:r midelse:l…

外包干了6个月,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入武汉某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…