UNIX 新手指南,第 1 部分: 文件维护工具( 四 )


使用 -l 指定需要查看长格式的文件清单 。长格式包括关于权限、所有权、修改日期和文件大小等信息 。您应该看到与下面所示类似的内容:tsystem:~/TUTORIAL tuser$ ls -l
total 0
-rw-r--r-- 1 tuser admin 0 Aug 13 15:35 example.txt
当详细显示目录清单时,您可以分别在第 3 和第 4 列中看到文件的用户所有权和组所有权 。该文件由 tuser 用户和 admin 组所有 。现在,暂时不管这个文件,输入下面的命令可以得到更多的信息:$ man chown
$ man chgrp
该命令的基本语法是使用用户名或组名作为第 1 个输入,后面是需要进行操作的文件或文件列表 。例如:$ chown tuser example.txt
$ chgrp admin example.txt
chmod
在 UNIX 中,使用与每个文件相关联的一组 9 个标志来处理基本文件权限 。这些标志分别对应于不同用户类别(用户、组和其他用户)和三种文件操作(读取、写入和执行) 。输入下面的命令:$ ls -l
您应该看到与下面所示类似的内容:-rw-r--r-- 1 tuser admin 0 Aug 13 15:35 example.txt
当您阅读目录的长格式清单时,其中的第 1 列显示了文件权限 。请注意,该列中有 10 个字符(而不是 9 个) 。第 1 个字符表示您正在处理的文件的类型 。例如,短横线 -,告诉您这是一个常规文件 。d 表示目录,而不是普通文件 。现在,我们重点关注于其他的 9 个字符,每个字符可以为下列几种情况其中之一:-、r、w 或 x 。如果关闭了某个文件所有的权限,那么它应该与下面所示类似:---------- 1 tuser admin 0 Aug 13 15:35 example.txt
如果打开了某个文件所有的权限,那么它应该与下面所示类似:-rwxrwxrwx 1 tuser admin 0 Aug 13 15:35 example.txt
您可以看到 3 组 rwx 。如前所述,有 3 种不同的用户类别(用户、组和其他用户) 。每一组 rwx 对应于其中的一个类别:
第 1 组 rwx 表示 user 的权限 。换句话说,这可以告诉您,该文件的拥有者可以对其进行哪些操作 。
第 2 组对应于 group 。这可以告诉您,组成员可以对该文件进行哪些操作 。
第 3 组对应于 other 。这可以告诉您,系统中所有的用户可以对该文件进行哪些操作,无论该文件属于谁 。
让我们更仔细地研究一下 example.txt 文件当前的权限:-rw-r--r-- 1 tuser admin 0 Aug 13 15:35 example.txt
第 1 组三个标志表示该文件的所有者可以对其进行读取、写入操作,但是不能执行它(其中有 r 和 w,但没有 x) 。从第 2 组三个标志中您可以看出,拥有该文件的组可以对其进行读取,但不能写入或执行(其中有 r,但没有 w 或 x) 。第 3 组三个标志显示了,所有其他的用户可以读取该文件,但不能对其进行写入或执行操作(其中有 r,但没有 w 或 x) 。这里给出了一个很好的示例,说明了详细的 man 页面非常重要 。您可以停下来,并输入下面的命令:$ man chmod
现在,可以考虑一下这样的可能性,即该文件中保存了私有的信息,而您不希望任何其他的用户进行读取 。您可能希望删除其他组和所有其他用户的读取权限 。可以使用 chmod 更改这些权限 。与 Unix 中的许多操作一样,使用 chmod 的方法很多,本部分内容重点关注其中之一 。使用三个字母(u、g 和 o)来表示三种类别(用户、组和其他用户) 。使用三个字母(r、w 和 x)来表示三种权限(读取、写入和执行) 。要更改这些权限,可以使用 chmod,加上需要更改的类别的字母,再加上一个加号或减号(分别表示打开或关闭),然后使用相应的字母给出需要更改的权限 。最后,加上需要进行更改的文件的名称 。最好通过一个示例来进行说明:$ chmod og-r example.txt

推荐阅读