频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

文件权限管理-POSIX ACL

来源: 作者: 出处:巧巧读书 2007-08-27 进入讨论组
下一页 1 2 

        在 Unix/Linux 系统上沿用了多年的权限机制,由于欠缺灵活性,在现今的信息系统上显得落后和不敷应用。然而一个新的权限机制标准已经诞生出来,本文将会为大家介绍这个新机制在 Linux 上的操作方式。

        传统上,在 Linux 系统中每个档案和目录都设有权限 (permission) 来决定那些人能够使用这个档案。

        权限分为三组,分别为:拥有者 (file owner),群组 (group),及 其它 (other)。每组中再设有其属性。属性亦分为三种,分别为:读取 (read),写入 (write),及执行(executable)。

        我们可以用 "ls -l" 来检视档案的权限:

        -rwxrw-r-- 1 adam mis 272401 May 10 2003 report.doc

        在上面的例子,档案 report.doc 的拥有者为 "adam" 而 adam 可以读取,写入和执行这个档案,另外 report.doc 的群组为 "mis",在系统中所有属于 mis 群组 的使用者皆可读取和写入这个档案,而其它的使用者只能够读取这个档案。

        如果我们想 report.doc 的内容只能给 mis 群组的使用者读取,我们可以用"chmod 640 report.doc" 这个指令更改其权限。

        -rw-r----- 1 adam mis 272401 May 10 2003 report.doc

        要是 report.doc 这个档案同时要给 mis 和 hr 两个群组的使用者读取,现有的权限机制已不能够让我们简易地设定。我们得要劳烦系统管理员为我们加入一个新的群组 (i.e.mishr),并把所有 mis 和 hr 中的使用者加进 mishr 群组中。然后我们要用 "chgrp mishr report.doc" 把群组设为 mishr。

        -rw-r----- 1 adam mishr 272401 May 10 2003 report.doc

        假若,我们的要求再复杂一点:要让使用者 adam 和 eva 能读取和写入,群组 mis和 hr 只能读取。那么,任我们再多加新的群组亦没办法得到这样的权限设定。要得到以上的权限设定,我们须要一个新的权限机制。而这个机制名为存取控制清单 (Access Control List, 简称 ACL)。ACL 实为现有权限机制的延伸,在三个基本设定 (拥有者,群组及其它) 外,允许我们加入对某指定使用者或群组的存取权限设定。

        为针对 Unix 系统先天的不足,一个名为 POSIX ACL 的权限机制标准便诞生出来。其目的是为各 Unix 系统之间制定一个兼容的 ACL 标准,使各用家能在各系统之间使用统一的接口。

        这个 POSIX ACL 的功能在 Linux kernel 2.6 上被正式支持,之后又被 back-port到 2.4 kernel 上。大家常用的档案系统,如:ext3,xfs,jfs,和 ReiserFS,都能使用ACL。当然,大家须要在编译 kernel 时启动 ACL。

        相关的 kernel option:

         CONFIG_FS_POSIX_ACL
         CONFIG_EXT3_FS_POSIX_ACL
         CONFIG_EXT2_FS_POSIX_ACL

        挂上档案系统

        虽然在 kernel 中已加进了 POSIX ACL 的支持,但是并不会自动启用的。我们必须在挂上档案系统时指明要使用 ACL。例如:

        mount -t ext3 -o acl /dev/sda1 /home

        当中 “-o acl” 便是在 /dev/sda1 上启用 ACL 的选项。

        我们亦可以在 /etc/fstab 中加入选项:

        /dev/sda1 /home ext3 acl 1 2

        检视ACL

        要检视一个档案或目录的 ACL,便要使用 “getfacl” 指令:

        [adam@www adam]$ getfacl report.doc
        # file: report.doc
        # owner: adam
        # group: mis
        user::rwgroup::
        rwother::
        r--

        以上的例子列出了一个基本的 ACL (Minimum ACL)。头三行为档案数据,当中包括了档案的拥有者和所属群组。之后的便是 ACL 中的每一条的规则。

        在这个基本的 ACL 中:

        user::rw- 拥有者 adam 能读取和写入
        group::rw- 属于 mis 群组的使用者能读取和写入
        other::r-- 其它的使用者只能读取

通告:http://www.qqread.com/linux/2007/08/y328185.html 更多文章 更多内容请看访问控制列表(ACL)介绍网络管理实用手册Windows权限设置专题,或进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章