帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 在Linux系统服务器中使用Chgrp命令更改组权限

在Linux系统服务器中使用Chgrp命令更改组权限

发布时间:2020年06月01日 09:38:51    来源: A5互联

在Linux权限中,包括目录在内的所有文件都与用户和组的所有权相关联。此外,文件和目录以及通常分配的决定访问权限(如读、写和执行)的权限,最终决定谁拥有访问这些权限。

在本教程中,我将向您展示如何使用chgrp命令更改文件或目录的组所有权。Linux change group命令(称为chgrp)用于更改文件或目录所属的组名。chown命令要求指定用户名和组名,而chgrp只需要指定组。

chgrp命令的语法

更改文件所属组的语法非常简单。只需调用chgrp命令,然后在对象名称之后定义组名称即可。

$ chgrp OPTION group_name /path/to/file or directory

group_name属性表示文件或目录将获取的新组。此外,您可以指定GID(组ID)而不是组名。在这种情况下,您需要在GID后面附加一个加号(+)。

使用chgrp命令更改文件组

在本节中,我们将研究如何更改文件的组所有权。在使用chgrp命令更改文件组之前,建议先验证该文件所属的当前组。使用ls命令打印文件的文件许可权很容易实现,如下所示:

$ ls -l

下面的示例打印出settings.pydocs目录内一个文件的文件许可权。

从上面的输出中,该文件属于用户'Winnie'和组'Winnie'。例如,要将文件组从“ Winnie”组更改为“ linoxide”组,请运行chgrp命令,如下所示:

$ chgrp linoxide settings.py

但是,在大多数情况下,以普通用户身份更改文件或目录的组时,将遇到chgrp operation not permitted如下图所示的错误。该错误表明用户没有足够的权限来更改文件的组所有权。

解决此问题的方法是将普通用户添加到sudoers组中,并调用sudo命令,如下所示:

$ sudo chgrp linoxide settings.py

从上面的输出中,我们可以看到在调用sudo命令并提交密码后,已成功将组更改为“ linoxide”。

此外,使用chgrp命令时,您可以指定多个文件作为参数,如下所示:

$ sudo chgrp group_name file_1 file_2 file_3

在下面的例子中,我们有3个文件:settings.py、file1.txt和file2.txt都属于组 "Winnie"。现在让我们把组的所有权改为'linoxide'。 语法将是:

$ sudo chgrp linoxide settings.py file1.txt file2.txt

递归更改组所有权

有时,您可能需要递归更改目录的所有文件和子目录的组。要递归更改组名,请使用-R以下语法中所示的标志。

$ sudo chgrp group-name directory

例如,要将/var/www/html/nextcloud 目录及其内容的所有权更改为www-data group,请运行以下命令:

$ sudo chgrp -R www-data /var/www/html/nextcloud

更改符号链接的组所有权

使用递归选项不会遍历符号链接,因此,符号链接将保留其组所有权。要将组所有权应用于符号链接,请传递-h参数,如下所示:

$ sudo chgrp -Rh www-data /var/www/html/nextcloud

结论

在本教程中,我们向您介绍了chgrpLinux中的命令。尽管可以使用chown命令实现相同的功能,但是chgrp命令提供了一种更简单的方法。

有人可能会问,当chown命令存在时,为什么我们会有chgrp。Chgrp代码构建的年代更早,chown最初无法设置组。

注意:chown :group在许多平台上,仅限于更改组的名称仍然不是可移植的或标准的。