chown 命令
chown 命令,是 "change owner" 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。
只修改所有者时,可使用如下 chown 命令的基本格式:
\[root@localhost ~\]# chown \[-R\] 所有者 文件或目录
-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。
同时更改所有者和所属组,chown 命令的基本格式为:
\[root@localhost ~\]# chown \[-R\] 所有者:所属组 文件或目录
注意,在 chown 命令中,所有者和所属组中间也可以使用点(.),但会产生一个问题,如果用户在设定账号时加入了小数点(例如 zhangsan.temp),就会造成系统误判。因此,建议使用冒号连接所有者和所属组。
使用 chown 命令修改文件或目录的所有者(或所属者)时,要保证使用者用户(或用户组)存在,否则该命令无法正确执行,会提示 "invalid user" 或者 "invaild group"。
例
其实,修改文件的所有者,更多时候是为了得到更高的权限,举一个实例:
\[root@localhost ~\]# touch file
#由root用户创建file文件
\[root@localhost ~\]# ll file
\-rw-r--r--. 1 root root 0 Apr 17 05:12 file
#文件的所有者是root,普通用户user对这个文件拥有只读权限
\[root@localhost ~\]# chown user file
#修改文件的所有者
\[root@localhost ~\]# ll file
\-rw-r--r--. 1 user root 0 Apr 17 05:12 file
#所有者变成了user用户,这时user用户对这个文件就拥有了读、写权限
修改 file 文件的所有者,user 用户从其他人身份(只对此文件有读取权限)转变成了所有者身份,对此文件拥有读和写权限。
例
Linux 系统中,用户等级权限的划分是非常清楚的,root 用户拥有最高权限,可以修改任何文件的权限,而普通用户只能修改自己文件的权限(所有者是自己的文件),例如:
\[root@localhost ~\]# cd /home/user
#进入user用户的家目录
\[root@localhost user\]# touch test
#由root用户新建文件test
\[root@localhost user\]# ll test
\-rw-r--r--. 1 root root 0 Apr 17 05:37 test
#文件所有者和所属组都是root用户
\[root@localhost user\]# su - user
#切换为user用户
\[user@localhost ~\]$ chmod 755 test
chmod:更改"test"的权限:不允许的操作 #user用户不能修改test文件的权限
\[user@localhost ~\]$ exit
#退回到root身份
\[root@localhost user\]# chown user test
#由root用户把test文件的所有者改为user用户
\[root@localhost user\]# su - user
#切换为user用户
\[user@localhost ~\]$ chmod 755 test
#user用户由于是test文件的所有者,所以可以修改文件的权限
\[user@localhost ~\]$ ll test
\-rwxr-xr-x. 1 user root 0 Apr 17 05:37 test
#查看权限
user 用户无权更改所有者为 root 用户文件的权限,只有普通用户是这个文件的所有者,才可以修改文件的权限。
例
\[root@localhost ~\]# chown user:group file
\[root@localhost ~\]# ll file
\-rw-r--r--. 1 user group 0 Apr 17 05:12 file