chown 是修改文件和目录的所有者和所属组的命令,其基本信息如下。
命令名称:chown。
英文原意:change file owner and group。
所在路径:/bin/chown。
执行权限:所有用户。
功能描述:修改文件和目录的所有者和所属组。
命令格式
[root@localhost ~]# chown [选项] 所有者:所属组文件或目录选项:
-R: 递归设置权限,也就是给子目录中的所有文件设置权限常见用法
【例 1】修改文件的所有者。
之所以需要修改文件的所有者,是因为赋予权限的需要。当普通用户需要对某个文件拥有最高权限的时候,是不能把其他人的权限修改为最高权限的,也就是不能出现 777 的权限,这是非常不安全的做法。
合理的做法是修改文件的所有者,这样既能让普通用户拥有最高权限,又不影响其他普通用户。我们来看例子:
[root@localhost ~]# touch laowang
#由root用户创建laowang文件
[root@localhost ~]# ll laowang
-rw-r--r-- 1root root 0 6月 16 05:12 laowang#文件的所有者是root,普通用户user对这个文件拥有只读权限[root@localhost ~]# chown user laowang
#修改文件的所有者
[root@localhost ~]# ll laowang
-rw-r--r-- 1 userroot 0 6月 16 05:12 laowang#所有者变成了user用户,这时user用户对这个文件就拥有了读、写权限【例 2】修改文件的所属组。
chown 命令不仅可以修改文件的所有者,也可以修改文件的所属组。例如:
[root@localhost ~]# chown user:user laowang# ":"之前是文件的所有者,之后是所属组。这里的":"也可以使用"."代替[root@localhost ~]# ll laowang
-rw-r--r-- 1 user user 0 6月 16 05:12 laowang修改所属组,也是为了调整文件的权限。只是我们目前还没有学习如何把用户加入用户组中,如果可以把用户加入同一个组当中,然后直接调整所属组的权限,那当然要比用户赋予权限要简单方便。
Linux 中用户组的建立与 Windows 中是不同的。在 Windows 中,新建的用户都属于 users 这个组,而不会建立更多的新组。但是在 Linux 中,每个用户建立之后,都会建立和用户名同名的用户组,作为这个用户的初始组,user 用户组是自动建立的。
【例 3】普通用户修改权限。
笔者在讲权限作用的时候强调过,并不是只有 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 6月 16 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 6月 16 05:37 test#查看权限
通过这个实验,我们可以确定,如果普通用户是这个文件的所有者,就可以修改文件的权限。
》》》更多的关于linux培训知识,欢迎随时咨询传智播客网站右下侧咨询窗口《《《