linux系统下怎么修改文件所属用户和组?

linux系统下怎么修改文件所属用户和组?,第1张

linux怎么修改文件所属用户和组

在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者及用户组别;或者在root用户下,这样可以修改任何文件的拥有者及用户组。

而修改文件所属用户和组,需要用到chown命令

chown 命令,可以认为是 "change owner" 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。

当只需要修改所有者时,可使用如下 chown 命令的基本格式:

-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。

当只需要修改所属组时,可使用如下 chown 命令的基本格式:

如果需要同时更改所有者和所属组,chown 命令的基本格式为:

注意,在 chown 命令中,所有者和所属组中间也可以使用点(.),但会产生一个问题,如果用户在设定账号时加入了小数点(例如 zhangsan.temp),就会造成系统误判。因此,建议大家使用冒号连接所有者和所属组。

当然,chown 命令也支持单纯的修改文件或目录的所属组,例如 chown :group install.log 就表示修改 install.log 文件的所属组,但修改所属组通常使用 chgrp 命令,因此并不推荐大家使用 chown 命令。

另外需要注意的一点是,使用 chown 命令修改文件或目录的所有者(或所属者)时,要保证使用者用户(或用户组)存在,否则该命令无法正确执行,会提示 "invalid user" 或者 "invaild group"。

chown命令的使用示例

1、更改文件的所属者

首先我们使用ls -l命令来查看一下文件的所属,例:

下面我们使用chown命令来更改该tmpfile文件的所属者

然后再使用ls -l命令来查看一下该tmpfile文件的所属

可以看出:该tmpfile文件的所属者从“himanshu”变为了“root”

2、更改文件组

通过chown命令,也可以更改组(文件所属的组别)。

使用以下命令来更改文件所属的组别:

然后使用ls -l命令来查看一下该tmpfile文件的所属

也可以直接一次性更改文件的所属者和组别为root,需要使用以下命令:

在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者及用户组,当然root用户可以修改任何文件的拥有者及用户组。在Linux中,对于文件的权限(rwx),分为三部分,一部分是该文件的拥有者所拥有的权限,一部分是该文件所在用户组的用户所拥有的权限,另一部分是其他用户所拥有的权限。对于文件的权限请参考《Linux的chmod命令》

文件(含文件夹,下同)的权限,在shell中可以通过chmod命令来完成,关于此请参考《Linux的chmod命令》。在

shell

中,可以使用chown命令来改变文件所有者及用户组,chgrp命令来改变文件所在用户组。在

Linux的C程序中,可以使用chown函数来改变文件所有者,及所在用户组。

另外,在shell中,要修改文件当前的用户必须具有管理员root的权限。可以通过su命令切换到root用户,也可以通过sudo获得root的权限。

二、使用chown命令更改文件拥有者

shell

中,可以使用chown命令来改变文件所有者。chown命令是change

owner(改变拥有者)的缩写。需要要注意的是,用户必须是已经存在系统中的,也就是只能改变为在

/etc/passwd这个文件中有记录的用户名称才可以。

chown命令的用途很多,还可以顺便直接修改用户组的名称。此外,如果要连目录下的所有子目录或文件同时更改文件拥有者的话,直接加上

-R的参数即可。

基本语法:

chown

[-R]

账号名称

文件或目录

chown

[-R]

账号名称:用户组名称

文件或目录

参数:

-R

:

进行递归(

recursive

)的持续更改,即连同子目录下的所有文件、目录

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

示例1:

[root@localhost

home]#

touch

testfile

//由

root

用户创建文件

[root@localhost

home]#

ls

testfile

–l

-rw--w--w-

1

root

root

0

Jun

7

19:35

testfile

//文件的拥有者及拥有者级均为

root

[root@localhost

home]#

chown

yangzongde

testfile

//修改文件拥有者为

yangzongde

[root@localhost

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

)的持续更改,即连同子目录下的所有文件、目录

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

更改Linux文件目录的拥有者可以用chown命令,chown的意思就是change owner,它的用法是:

chown 用户名:用户组名 文件或目录

用户名是需要修改成哪个用户所有,用户组名是修改成哪个用户组(厉害不,还能修改所属用户组),注意用户名和组名之间的那个冒号是英文冒号,后面接着是需要修改的文件或目录,一个示例:

chown root:root /home/mydir

示例将/home/mydir目录的拥有者修改为root,所属用户组修改为root用户组。

如果只想修改拥有者呢,那只给出一个用户名就可以了,就像下面这样:

chown root /home/testfile

注意:chown有一个选项,对于修改目录的所有者很有用,那就是-R选项,-R选项表示递归修改,就是连目录下的子目录里面的所有文件、目录都修改所有者。

如果只想修改文件或目录所属用户组呢,那可以用chgrp命令,用法和chown类似:

chgrp 用户组 文件或目录

chgrp命令也有一个-R选项噢,和chown的-R选项用法一样,都是用于目录。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7112975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存