linux系统下如何修改文件所属用户和组?
linux怎么修改文件所属用户和组
在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者及用户组别;或者在root用户下,这样可以修改任何文件的拥有者及用户组。
而修改文件所属用户和组,需要用到chown命令。
chown 命令,可以认为是 "change owner" 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。
当只需要修改所有者时,可使用如下 chown 命令的基本格式:
chown [-R] 所有者 文件或目录
-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。
当只需要修改所属组时,可使用如下 chown 命令的基本格式:
chown [-R] :所属组 文件或目录
如果需要同时更改所有者和所属组,chown 命令的基本格式为:
chown [-R] 所有者:所属组 文件或目录
注意,在 chown 命令中,所有者和所属组中间也可以使用点(.),但会产生一个问题,如果用户在设定账号时加入了小数点(例如 zhangsan.temp),就会造成系统误判。因此,建议大家使用冒号连接所有者和所属组。
当然,chown 命令也支持单纯的修改文件或目录的所属组,例如 chown :group install.log 就表示修改 install.log 文件的所属组,但修改所属组通常使用 chgrp 命令,因此并不推荐大家使用 chown 命令。
另外需要注意的一点是,使用 chown 命令修改文件或目录的所有者(或所属者)时,要保证使用者用户(或用户组)存在,否则该命令无法正确执行,会提示 "invalid user" 或者 "invaild group"。
chown命令的使用示例
1、更改文件的所属者
首先我们使用ls -l命令来查看一下文件的所属,例:
#ls -l tmpfile -rw-r-r-- 1 himanshu family 0 2019-03-30 11:03 tmpfile
下面我们使用chown命令来更改该tmpfile文件的所属者
#chown root tmpfile
然后再使用ls -l命令来查看一下该tmpfile文件的所属
#ls -l tmpfile -rw-r-r-- 1 root family 0 2019-03-30 11:04 tmpfile
可以看出:该tmpfile文件的所属者从“himanshu”变为了“root”
2、更改文件组
通过chown命令,也可以更改组(文件所属的组别)。
使用以下命令来更改文件所属的组别:
#chown :root tmpfile
然后使用ls -l命令来查看一下该tmpfile文件的所属
#ls -l tmpfile -rw-r-r-- 1 root root 0 2019-03-30 11:04 tmpfile
也可以直接一次性更改文件的所属者和组别为root,需要使用以下命令:
#chown root:root tmpfile