对话 UNIX,第 4 部分: UNIX 所有权和权限管理( 二 )


尽管这是个比较简单的概念,但严格的所有权和针对每个用户的预置,这两种特性使得 UNIX 远比 Microsoft?Windows?更加安全 。
成员具有相应的权限
与您所启动的作业一样,您还拥有您所创建的目录和文件 。例如,在您的 home 目录中运行 ls -alFG 命令和 $HOME 以查看您所拥有的内容,如清单 2 所示 。
清单 2. 列出您在自己的 home 目录中所拥有的内容
$ ls -alFG $HOME
...
-rw-------1 strike 6175 Aug 25 07:03 .bash_history
-rw-------1 strike 567 Apr 20 2005 .bash_profile
-rw-------1 strike 1834 Apr 20 2005 .bashrc
drwx------2 strike 4096 Mar 8 10:54 .ssh/
-rw-------1 strike 9516 Aug 22 16:42 .viminfo
-rw-r--r--1 strike 1529617 Jul 19 07:00 Archive.zip
drwxrwx---3 strike 4096 Aug 24 04:04 IBM/
drwxr-xrwx3 strike 4096 Jun 14 06:06 backups/
...
UNIX 组中存在的问题
要在组中的所有成员之间共享文件,可以更改文件的组所有者,这是一种非常简单的方法 。例如,如果由您、jane 和 joe 组成了 scIEnce UNIX 组,并且您希望与这两个用户共享敏感的 nuclear.csv 数据文件,只需要将该文件的组所有者更改为 science 即可 。
但是,如果 sam 和 bertha 也需要访问该文件,而他们都不属于 science 组,那又应该怎么办呢?当然,您可以将这两个用户加到 science 中,但这样做将允许他们访问 science 组所拥有的所有 文件 。
这是 UNIX 组实现中的一个局限性:一个文件有且只能有一个组所有者,而要实现复杂的共享方案通常会导致组的数目激增 。(您可以为 joe、jane、sam 和 bertha 创建一个新的组,比如 jjsb 。但是当 donald 也需要访问时,又应该怎么办呢?)
如果您需要使用复杂的访问控制方案,可以考虑使用访问控制列表 (ACL),许多 UNIX 实现都提供了这种机制 。ACL 对标准的 UNIX 所有权模型进行了扩展,可以对每个用户或每个组授予(或撤销)特定的权限 。ACL 就像是在门口设置了一个保镖:可以让您的伙伴、某些名流和经过筛选的客人进入,而将无业游民和其他乌合之众拒之门外 。
正如您看到的,我拥有我的 home 目录中的所有目录和文件 。作为所有者,我可以删除、重命名和移动我的任何文件和目录,并且可以编辑我的任何文件 。您对自己的文件(除非特别指明,这里的文件 同时表示文件和目录)具有相同的权限 。
另外,您可以决定与其他的用户共享 您的文件 。实际上,因为 UNIX 是一种多用户系统,所以共享文件是该操作系统的基本理念之一 。
除了特定的用户所有者,每个文件和目录还具有一个组 所有者 。UNIX 组 只是一些用户的集合,而您可以作为一个或多个组中的成员 。使用 id 可以查看您的成员信息:
$ id
uid=501(strike) gid=501(strike) groups=501(strike),
 81(appserveradm), 79(appserverusr), 80(admin)
在我的系统中,我的主要组的组 id (GID) 为 501,该组名为 strike 。我还属于其他的 3 个组:
appserveradm
appserveruser
admin
在通常情况以及缺省情况下,您所创建的文件的组所有者为您的主要组,但是您可以将组所有者更改为您所属的任何组 。在您的 home 目录中运行 ls -laF,可以显示有关您的文件的更多信息,如清单 3 所示 。
清单 3. 显示有关您的文件的更多信息
-rw-------1 strike strike 6118 Aug 27 21:59 .bash_history
-rw-r--r--1 strike strike 567 Apr 20 2005 .bash_profile
-rw-r--r--1 strike strike 1834 Apr 20 2005 .bashrc
drwx------2 strike strike 4096 Mar 8 10:54 .ssh/
-rw-------1 strike strike 9516 Aug 22 16:42 .viminfo
-rw-r--r--1 strike strike 1529617 Jul 19 07:00 Archive.zip

推荐阅读