Linux chgrp命令(更改文件与文件夹所属用户组)

发布时间:2020-01-02编辑:脚本学堂
本文介绍了linux下chgrp命令的用法,chgrp命令用于更改文件与文件夹所属用户组,需要的朋友参考下。

linux下更改所属用户组, 使用chgrp命令

改变文件的用户组很简单,直接用chgrp即可,该命令是change group(改变用户组)的缩写。
注意,要改变成为的用户组名称,必须在 /etc/group里存在,否则就会显示错误。

假设以root的身份登入FC4,那么,在你的家目录内有一个install.log文件,如何改变该文件的用户组呢?
假设已知道在 /etc/group里已经存在一个名为users的用户组,但是,testing这个用户组名字就不存在 /etc/group中了,此时改变用户组成为users与testing,会有什么现象发生呢?
[root@linux ~]# chgrp [-R] dirname/filename ...

参数:
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录

都更新成为这个用户组。常常用在更改某一目录的情况。

例子:
 

复制代码 代码示例:
[root@linux ~]# chgrp users install.log
[root@linux ~]# ls -l
-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log
[root@linux ~]# chgrp testing install.log

chgrp: invalid group name `testing' <== 出现错误信息~找不到这个用户组名~
发现了吗?文件的用户组被改成users了,但要改成testing的时候,就会发生错误。注意,出现错误信息,还是要查查错误信息的内容才好。

更改文件拥有者, chown
那么,如何改变一个文件的拥有者呢?很简单。既然改变用户组是change group,那么改变拥有者就是change owner(改变拥有者)。这就是chown这个命令的用途,要注意的是,用户必须是已经存在系统中的,也就是在 /etc/passwd这个文件中有记录的用户名称才可改变。
chown的用途很多,还可以顺便直接修改用户组的名称。此外,如果要连目录下的所有子目录或文件同时更改文件拥有者的话,直接加上 -R的参数即可。我们来看看语法与范例:
 

复制代码 代码示例:
[root@linux ~]# chown [-R] 账号名称 文件或目录
[root@linux ~]# chown [-R] 账号名称:用户组名称 文件或目录

参数:
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
都更新成为这个用户组。常常用在更改某一目录的情况。

例子:
 

复制代码 代码示例:
[root@linux ~]# chown bin install.log
[root@linux ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log
[root@linux ~]# chown root:root install.log
[root@linux ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log   
 

知道了如何改变文件的用户组与拥有者,那么什么时候使用chown或chgrp呢?
有时需要更改文件的拥有者的,最常见的例子就是在复制文件给其他人时,使用最简单的cp来说明:
 

复制代码 代码示例:
[root@linux ~]# cp 来源文件 目的文件 

假设要将 .bashrc文件复制成为 .bashrc_test,且是要给bin这个人,可以这样:
 

复制代码 代码示例:
[root@linux ~]# cp .bashrc .bashrc_test
[root@linux ~]# ls -al .bashrc*
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
-rw-r--r--  1 root root 395 Jul 13 11:31 .bashrc_test

如何处理?
.bashrc_test还是属于root所有,如此一来,即使将文件拿给bin用户了,它仍然无法修改(看属性就知道了),所以就必须修改这个文件的拥有者与用户组。

您可能感兴趣的文章: