chown 命令,可以认为是 “change owner” 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。
当只需要修改所有者时,可使用如下 chown 命令的基本格式:
# chown [-R] 所有者 文件或目录
-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。
如果需要同时更改所有者和所属组,chown 命令的基本格式为:
# chown [-R] 所有者:所属组 文件或目录
注意,在 chown 命令中,所有者和所属组中间也可以使用点(.),但会产生一个问题,如果用户在设定账号时加入了小数点(例如 zhangsan.temp),就会造成系统误判。因此,建议大家使用冒号连接所有者和所属组。
另外需要注意的一点是,使用 chown 命令修改文件或目录的所有者(或所属者)时,要保证使用者用户(或用户组)存在,否则该命令无法正确执行,会提示 “invalid user” 或者 “invld group”。
chown命令使用示例
创建文件hello,然后修改文件的所有者和所属组。在所有者变成 user 用户之后, 这时 user 用户对这个文件就拥有了读、写权限。
当然,Linux 系统中,用户等级权限的划分是非常清楚的,root 用户拥有最高权限,可以修改任何文件的权限,而普通用户只能修改自己文件的权限(所有者是自己的文件)。
下面是由root 新建的文件test,文件所有者和所属组都是root用户。
[root@centos-160 ~]# cd /home/rickie [root@centos-160 rickie]# touch test [root@centos-160 rickie]# ll test -rw-r--r-- 1 root root 0 Jan 1 14:43 test 切换为 rickie 用户 [root@centos-160 rickie]# su - rickie chmod:更改"test"的权限:不允许的操作;rickie 用户不能修改test文件的权限 [rickie@centos-160 ~]$ chmod 755 test chmod: changing permissions of 'test': Operation not permitted 退回到 root 用户 [rickie@centos-160 ~]$ exit logout [root@centos-160 rickie]# ll test -rw-r--r-- 1 root root 0 Jan 1 14:43 test 由root用户把 test 文件的所有者改为 rickie 用户 [root@centos-160 rickie]# chown rickie test [root@centos-160 rickie]# ll test -rw-r--r-- 1 rickie root 0 Jan 1 14:43 test 切换到 rickie 用户 [root@centos-160 rickie]# su - rickie rickie用户由于是test文件的所有者,所以可以修改文件的权限 [rickie@centos-160 ~]$ chmod 755 test [rickie@centos-160 ~]$ ll test -rwxr-xr-x 1 rickie root 0 Jan 1 14:43 test
随便介绍一下文件和目录的权限:在Linux 系统中权限是区分用户的,即用户、组用户、其他用户,第一位表示文件的类型,-代表文件,d代表目录,其他每个用户占三个字符。
其中r表示读、w表示写、x表示可执行,-表示没有权限。权限:读=4、写=2、可执行=1。
rwx = 7;r-x = 5,这样,755的意思就明白了吧。