最近学习hadoop,在替换配置文件的时候,发现老是报错,没有权限替换。


我们知道如何改变文件的用户组与拥有者了,那么,什么时候要使用chown或chgrp呢?或许你会觉得奇怪吧?是的,确实有时候需要更改文件的拥有者的,最常见的例子就是在复制文件给其他人时,我们使用最简单的cp来说明好了:
例子就是在复制文件给其他人时,我们使用最简单的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用户了,他仍然无法修改(看属性就知道了),所以就必须修改这个文件的拥有者与用户组。

命令:

[root@linux ~]# chgrp [-R] dirname/filename ...
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录,都更新成为这个用户组。常常用在更改某一目录的情况。
 
  
chown的用途很多,还可以顺便直接修改用户组的名称。此外,如果要连目录下的所有子目录或文件同时更改文件拥有者的话,直接加上 -R的参数即可。我们来看看语法与范例:
[root@linux ~]# chgrp [-R] dirname/filename ...
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录,都更新成为这个用户组。常常用在更改某一目录的情况。
[root@linux ~]# chown root:root install.log
[root@linux ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log