如何更改linux文件的拥有者及用户组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改linux文件的拥有者及用户组相关的知识,希望对你有一定的参考价值。

使用命令chown

基本格式
chown user:[group] file

其中user为用户名,group为用户组名,file为文件或者文件夹,[]中的内容表示可选。
简单例子与说明:
chown user1:group1 file1
把当前文件夹下的file1的所有者改为user1,所有者用户组改为group1

下面为chown命令的详细,请参考:
Linux chown命令详解使用格式和方法
指令名称 : chown 使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file…
利用 chown 可以将档案的拥有者加以改变。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

参数:
-c或-change:作用与-v相似,但只传回修改的部分
-f或–quiet或–silent:不显示错误信息
-h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v或–verbose:显示指令执行过程
–dereference:作用和-h刚好相反
–help:显示在线说明
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
–version:显示版本信息

chown命令使用举例:(像我用的vps,就要先ssh登录)

# chown [-R] [用户名称] [文件或目录]
# chown[-R] [用户名称:组名称] [文件或目录]

范例1:将test3.txt文件的属主改为test用户。
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown test:root test3.txt
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59

范例2:chown所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt

# chown :test test3.txt <==把文件test3.txt的属组改为test
# ls -l test3.txt
-rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt

范例3:chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R参数来改变某个目录下的所有文件到新的属主或属组。
# ls -l testdir <== 查看testdir目录属性
drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户
# ls -lr testdir <==查看testdir目录下所有文件及其属性
total 0
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
# chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组
# ls -l testdir
drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
# ls -lr testdir
total 0
-rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt
参考技术A chown 所有者:所属组

例子:
[root@node2 src]# echo hello>1.txt
[root@node2 src]# ll 1.txt
-rw-r--r-- 1 root root 6 Jul 6 22:59 1.txt
[root@node2 src]# useradd tom
[root@node2 src]# chown tom:root 1.txt
[root@node2 src]# ll 1.txt
-rw-r--r-- 1 tom root 6 Jul 6 22:59 1.txt
[root@node2 src]#本回答被提问者和网友采纳

更改linux文件的拥有者及用户组(chown和chgrp)

、使用chown命令更改文件拥有者
在 shell 中,能够使用chown命令来改变文件全部者。chown命令是change owner(改变拥有者)的缩写。须要要注意的是,用户必须是已经存在系统中的,也就是仅仅能改变为在 /etc/passwd这个文件里有记录的username称才干够

chown命令的用途非常多,还能够顺便直接改动用户组的名称。

此外,假设要连文件夹下的全部子文件夹或文件同一时候更改文件拥有者的话,直接加上 -R的參数就可以。

基本的语法:
chown [-R] 账号名称 文件文件夹
chown [-R账号名称:用户组名称 文件文件夹
參数
-R : 进行递归( recursive )的持续更改,即连同子文件夹下的全部文件、文件夹
都更新成为这个用户组。经常常使用在更改某一文件夹的情况。
演示样例1
[[email protected] home]# touch testfile //由 root 用户创建文件 
[[email protected] home]# ls testfile –l 
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile //文件的拥有者及拥有者级均为 root 
[[email protected] home]# chown yangzongde testfile //改动文件拥有者为 yangzongde 
[[email protected] home]# ls testfile -l 
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde。但组仍为 root 
演示样例2
chown bin install.log
ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log
chown root:root install.log
ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log
三、使用chgrp命令更改文件所属用户组
在shell中,能够使用chgrp命令来改变文件所属用户组,该命令就是change group(改变用户组)的缩写。

须要注意的是要改变成为的用户组名称,必须在 /etc/group里存在,否则就会显示错误。

基本的语法:
chgrp [-R用户组名称 dirname/filename ...
參数:
-R : 进行递归( recursive )的持续更改,即连同子文件夹下的全部文件、文件夹
都更新成为这个用户组。经常常使用在更改某一文件夹的情况。
演示样例3
[[email protected] home]# ls testfile -l 
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde。但组为 root 
[[email protected] home]# chgrp yangzongde testfile //改动拥有者组为 yangzongde 
[[email protected] home]# ls testfile -l 
-rw--w--w- 1 yangzongde yangzongde 0 Jun 7 19:35 testfile 
[[email protected] home]# chown root:root testfile // 使用 chown 一次性改动拥有者及组 
[[email protected] home]# ls testfile -l 
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile 
演示样例4
[[email protected] ~]# chgrp users install.log
[[email protected] ~]# ls -l
-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log
演示样例5
更改为一个 /etc/group不存在的用户组
[[email protected] ~]# chgrp testing install.log
chgrp: invalid group name `testing‘ <== 出现错误信息~找不到这个用户组名~

以上是关于如何更改linux文件的拥有者及用户组的主要内容,如果未能解决你的问题,请参考以下文章

如何更改linux文件目录拥有者及用户组

如何更改linux文件目录拥有者及用户组

如何更改linux文件目录拥有者及用户组

如何更改linux文件的拥有者及用户组

如何更改linux文件的拥有者及用户组 chown和chgrp

如何更改linux文件的拥有者及用户组(chown和chgrp)