在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在许多平台上,仅限于更改组的名称仍然不是可移植的或标准的。
成都联想代理www.lenovocd.com【公司名称】成都鸿盛广达科技有限公司
【代理级别】成都联想服务器总代理
【销售经理】成都鸿盛广达科技有限公司
【联系方式】座机:028-85952921 手机:13981931555
【公司地址】成都市武侯区人民南路四段一号时代数码广场A座17楼