linux命令行学习(33):用chown命令更改文件所有者和所属群组

chown就是change owner之略。

它除了改变文件所有者之外,还可以改变文件所属群组。它的操作对象当然是文件。

使用这个命令需要超级用户的权限。

chown命令的语法格式如下。

chown [ower][:[group]] file …

chown命令更改的是文件所有者还是文件所属群组,或者对两者都更改,取决于该命令的参数。

设用户名为bob,则下列参数的意义:

bob 把文件所有者从当前所有者更改为用户bob

bob:users 把文件所有者从当前所有者更改为用户bob,并把文件所属群组更改为users

:admins 把文件所属群组更改为admins,文件所有者不变

bob: 把文件所有者从当前所有者更改为用户bob,并把文件所厲群组更改为用户bob登录系统时所属的组

下面举一个例子。

假设有两个用户:拥有超级用户权限的janet和没有该权限的tony。

用户janet想要从她的主目录复制一个文件至用户tony的主目录中。因为用户janet希望tony能够编辑该文件,所以janet把该文件的所有者由janet更改为tony,具体操作如下:

[janet@linuxbox ~]$ sudo cp myfile.txt 〜tony

Password:

[janet@linuxbox ~]$ sudo Is -l ~tony/myfile.txt

-rw-r--r-- 1 root root 8031 2012-03-20 14:30 /home/tony/myfile.txt

[janet@linuxbox ~]$ sudo chown tony:〜tony/myfile.txt

[janet@linuxbox ~]$ sudo Is -l ~tony/myfile.txt

-rw-r--r-- 1 tony tony 8031 2012-03-20 14:30 /home/tony/myfile.txt

这里我们可以看到,用户janet先把文件从她的目录复制到用户tony的主目录中。接下来,janet 把该文件的所有者从root (使用sudo命令的结果)更改为tony。通过在第一个参数末尾加上冒号,janet 也把文件的所属群组更改成了tony登录系统时所属的组,该组名碰巧也叫tony。

值得注意的是,在janet第一次使用了sudo命令之后,系统为什么没有提示她输入她的密码呢?这是因为,在大多数的配置环境下,sudo命令会信任用户几分钟(直到计时结束)。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容