7.4 修改文件和目录的拥有者

chown

修改文件的用户组固然重要,但是修改文件的拥有者可能会更常用。修改用户组使用的是chgrp命令,而要修改拥有者则应该使用chown命令。

  1. $ ls -l
  2. -rw-r--r-- 1 scott scott ... libby_arrowrock.jpg
  3. -rw-r--r-- 1 scott family ... libby.jpg
  4. -rw-r--r-- 1 scott scott ... libby_on_couch.jpg
  5. $ chown denise libby.jpg
  6. $ ls -l
  7. -rw-r--r-- 1 scott scott ... libby_arrowrock.jpg
  8. -rw-r--r-- 1 denise family ... libby.jpg
  9. -rw-r--r-- 1 scott scott ... libby_on_couch.jpg

在7.1节中提到的关于chgrp命令的几点内容也适用于chown命令。chgrp命令使用的是用户名或其数字ID。用户的数字ID可以通过运行cat/etc/passwd命令来查看,如下所示:

  1. bind:x:110:118::/var/cache/bind:/bin/false
  2. scott:x:1001:1001:Scott,,,:/home/scott:/bin/bash
  3. ntop:x:120:120::/var/lib/ntop:/bin/false

第一个数字是用户的数字ID(第二个数字是与用户相关联的主用户组的数字ID)。

同样,只有文件的当前拥有者才能修改其拥有者属性(当然,root也能修改)。这并不让人吃惊,但是最好还是记住。

警告 使用chown -R scott *,并不会修改目录中的任何点文件。然而,不应该使用chown -R scott .*。它能够修改当前目录中的所有点文件,但.*也和..匹配,所有父目录中的文件也会被修改,或许这并不是你想要的结果。