Linux 中的 Chgrp 命令(更改组)

2023-11-17

在 Linux 中,每个文件都与一个所有者和一个组相关联,并具有确定哪些用户可以读取、写入或执行该文件的权限。

本文介绍了如何使用chgrp命令更改给定文件的组所有权。

chgrp命令语法#

The chgrp命令采用以下形式:

chgrp [OPTIONS] GROUP FILE..
  • GROUP、新组的名称或组 ID (GID)。数字 GID 必须以前缀+ symbol.
  • FILE..,一个或多个文件的名称。

不像chown允许您更改用户和组所有权的命令,chgrp仅更改组所有权。

要找出文件属于哪个组,请使用ls -l命令。

仅当普通用户拥有该文件并且只能更改为他们所属的组时,才可以更改该文件的组。管理用户可以更改所有文件的组所有权。

如何更改文件组所有权#

要更改文件或目录的组所有权,请调用chgrp命令后跟新组名称和目标文件作为参数。

例如,更改文件的组filename to www-data你会运行:

chgrp www-data filename

如果您使用非特权用户运行该命令,您将收到“不允许操作”错误。要抑制错误消息,请使用以下命令调用该命令-f选项。默认情况下,成功后,chgrp不产生任何输出并返回零。

您还可以将多个文件作为参数传递给chgrp命令:

chgrp www-data file1 file2 dir1

Use the -v获取有关正在处理的文件的信息的选项:

chgrp www-data file1 file2
changed group of 'file1' from nginx to www-data
group of 'file2' retained as www-data

要仅打印有关组实际更改的文件的信息,请使用-c代替-v.

可以使用数字组 ID (GID) 代替用户名。以下示例将文件的组所有权更改为 GID 为 1000 的新组:

chgrp +1000 filename

当不递归操作时,默认行为chgrp命令是更改符号链接目标的组所有权,而不是符号链接他们自己。

例如,如果您尝试更改符号链接的组symlink1这指向/opt/file1, chgrp将更改符号链接指向的文件或目录的所有权:

chgrp www-data symlink1

您很可能不会更改目标组,而是会收到“无法取消引用‘symlink1’:权限被拒绝”错误。

发生该错误的原因是,默认情况下,在大多数 Linux 发行版上,符号链接受到保护,并且您无法对目标文件进行操作。该选项指定于/proc/sys/fs/protected_symlinks. 1意味着已启用并且0禁用。我们建议不要禁用符号链接保护。

要更改符号链接本身的组所有权,请使用-h option:

chgrp -h www-data symlink1

如何递归更改组所有权#

要递归更改给定目录下所有文件和目录的组所有权,请使用-R option.

例如,以下命令将更改该目录下所有文件和目录的所有权/var/www目录到www-data group:

chgrp -R www-data /var/www

当指定递归选项时chgrp不会遍历符号链接,也不会对符号链接进行任何更改。要更改符号链接的组所有权,请传递-h option:

chgrp -hR www-data /var/www

递归更改组所有权时可以使用的其他选项是-H and -L.

如果参数传递给chgrp命令是一个符号链接,-H选项将导致命令遍历它。-L tells chgrp遍历每个符号链接到遇到的目录。在大多数情况下,您不应使用这些选项,因为这可能会弄乱您的系统或造成安全风险。

结论#

chgrp更改文件、目录和符号链接的组所有权。

虽然您可以使用更流行的chown更改组的命令,chgrp语法简单,易于记忆。

欲了解更多信息chgrp命令,访问chgrp人页面或类型man chgrp在您的终端中。

如果您有任何问题或反馈,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的 Chgrp 命令(更改组) 的相关文章

随机推荐

  • 最大限度地发挥 ChatGPT 在教育领域的潜力

    人工智能 AI 技术具有彻底改变教育的潜力 ChatGPT 是由 AI 开发的语言模型OpenAI 就是这样一种工具 可以用来改变学生的学习方式 ChatGPT 可以为学生提供个性化的学习体验 提供按需支持 并促进与教师和同学的沟通与协作
  • Bash 案例声明

    狂欢case当您有多个不同的选择时 语句通常用于简化复杂的条件 使用case语句而不是嵌套if语句将帮助您使 bash 脚本更具可读性且更易于维护 狂欢case语句与Javascript或C有类似的概念switch陈述 主要区别在于 与 C
  • 如何在 CentOS 7 上设置或更改时区

    在 CentOS 上 系统的时区是在安装过程中设置的 但以后可以轻松更改 使用正确的时区对于许多与系统相关的任务和流程都很重要 例如 cron 守护进程使用系统的时区来执行 cron 作业 并且日志文件中的时间戳基于同一系统的时区 本教程介
  • 基本 Linux 命令

    来自 Windows 世界的新 Linux 转换者可能会发现使用命令行有点令人生畏 然而 使用起来并不困难 开始使用命令行所需要做的就是学习一些基本命令 虽然大多数 Linux 发行版都是用户友好的并且具有易于使用的图形界面 但了解如何使用
  • 如何在 Ubuntu 中启用和禁用 root 用户帐户

    作为一个新的 Ubuntu 用户 您可能想知道如何以 root 用户身份登录 Ubuntu 系统或者默认的 root 密码是什么 在 Ubuntu Linux 中 出于安全原因 默认情况下禁用 root 用户帐户 本教程介绍如何在 Ubun
  • Linux ip 命令及示例

    The ip命令是任何 Linux 系统管理员都应该知道的用于配置网络接口的强大工具 它用于启动或关闭接口 分配和删除地址和路由 管理 ARP 缓存等等 本文通过实际示例和最常见选项的详细解释来解释如何使用 ip 命令 如何使用 ip 命令
  • 如何在 Debian 9 上添加和删除用户

    Debian 以及所有其他 Linux 发行版都是一个多用户操作系统 每个用户可以对各种命令行和 GUI 应用程序拥有不同的权限级别和特定设置 了解如何添加和删除用户是 Linux 用户应该了解的基本技能之一 本教程介绍如何在 Debian
  • 如何在 Debian 上创建 Sudo 用户

    The 须藤命令 Super user do 的缩写 是一个程序 旨在允许用户以另一个用户 默认为 root 用户 的安全权限执行命令 在本指南中 我们将向您展示如何在 Debian 系统上创建新用户并为其授予 sudo 访问权限 您可以使
  • 如何设置 Git 服务器

    当谈到 Git 托管时 您有多种选择 GitHub Gitlab 和 Bitbucket 是流行的解决方案 但运行自己的 Git 服务器是值得考虑的替代方案 设置 Git 服务器允许您创建私人存储库 而不受提供商免费计划的限制 在本指南中
  • 如何在 Debian 9 上安装 MySQL

    随着 Debian 9 Stretch MySQL 的发布 Debian 存储库中不再提供世界上最流行的开源关系数据库管理系统 MariaDB 已成为默认数据库系统 MariaDB 是 MySQL 的向后兼容 二进制直接替代品 在本教程中
  • 如何在 CentOS 8 上安装 TensorFlow

    TensorFlow是谷歌打造的一个开源机器学习平台 它可以在不同设备上的 CPU 或 GPU 上运行 并被许多组织使用 包括 Twitter PayPal 英特尔 联想和空客 TensorFlow 可以安装在系统范围内 Python 虚拟
  • 在 CentOS 7 上安装 PHP 7

    CentOS 7 附带 PHP 版本 5 4 该版本已正式 EOL 相当长一段时间 不再受支持 通过使用 PHP 7 您的应用程序将加载更快并消耗更少的系统资源 在本教程中 我们将解释如何安装或升级到 PHP 7 0 CentOS 7 系统
  • 如何在 Linux 中移动文件和目录(mv 命令)

    移动文件和目录是您经常需要在 Linux 系统上执行的最基本任务之一 在本教程中 我们将解释如何使用mv移动文件和目录的命令 如何使用mv命令 The mv命令 move 的缩写 用于将文件和目录从一个位置重命名和移动到另一个位置 语法为m
  • 如何在 CentOS 8 上安装 Xrdp 服务器(远程桌面)

    Xrdp 是 Microsoft 远程桌面协议 RDP 的开源实现 允许您以图形方式控制远程系统 使用 RDP 您可以登录到远程计算机并创建真实的桌面会话 就像登录到本地计算机一样 本教程介绍如何在 CentOS 8 上安装和配置 Xrdp
  • 如何在 Ubuntu 18.04 上安装 Flask

    Flask 是一个免费 开源的 Python 微型 Web 框架 旨在帮助开发人员构建安全 可扩展和可维护的 Web 应用程序 烧瓶是基于Werkzeug和用途Jinja2作为模板引擎 Unlike Django 默认情况下 Flask 不
  • Linux 中的 Whoami 命令

    在本文中 我们将介绍whoami命令 顾名思义 whoami命令打印有效用户 ID 的用户名 换句话说 它显示当前登录用户的名称 如何使用whoami命令 语法为whoami命令如下 whoami OPTION 要显示当前登录用户的名称 请
  • 如何在 CentOS 8 上安装和配置 Redmine

    Redmine 是一款免费的开源项目管理和问题跟踪应用程序 它是跨平台和跨数据库的 构建在 Ruby on Rails 框架之上 Redmine包括对多个项目 wiki 问题跟踪系统 论坛 日历 电子邮件通知等的支持 本教程介绍如何在 Ce
  • Linux 中的 Stat 命令

    stat是一个命令行实用程序 显示有关给定文件或文件系统的详细信息 本文介绍了如何使用stat命令 使用stat命令 语法为stat命令如下 stat OPTION FILE stat接受一个或多个输入FILE名称并包含许多控制命令行为和输
  • 如何在 CentOS 8 上安装 Python 3.8

    Python 是世界上使用最广泛的编程语言之一 凭借其简单易学的语法 Python 成为初学者和经验丰富的开发人员的热门选择 Python 是一种非常通用的编程语言 它可用于构建各种应用程序 从简单的脚本到复杂的机器学习算法 CentOS
  • Linux 中的 Chgrp 命令(更改组)

    在 Linux 中 每个文件都与一个所有者和一个组相关联 并具有确定哪些用户可以读取 写入或执行该文件的权限 本文介绍了如何使用chgrp命令更改给定文件的组所有权 chgrp命令语法 The chgrp命令采用以下形式 chgrp OPT