我来换页面颜色
  • 栏目分类: 没有任何子栏目

Linux上的ACL权限文件访问

作者:佚名    文章来源:不详    点击数:    更新时间:2008-5-1
  • 在Unix/Linux系统上沿用了多年的权限机制,由于欠缺灵活性,在现今的信息系统上显得落后和不敷应用。然而一个新的权限机制标准已经诞生出来,本文将会为大家介绍这个新机制在Linux上的操作方式。----------------------------------------------------
正文:Linux上的ACL权限文件访问开始

在 Unix/Linux 系统上沿用了多年的权限机制,由于欠缺灵活性,在现今的信息系统上显得落后和不敷应用。然而一个新的权限机制标准已经诞生出来,本
    文将会为大家介绍这个新机制在 Linux 上的操作方式。
    ---------------------------------------------------------
    典型的文件权限
    典型的文件权限是这样的:
    #>ls -l
    -rwxrw-r-- 1 adam mis 272401 May 10 2003 test.doc
    表示文件属于用户adam,权限可读可写可运行;属于群组mis权限可读可写;其他人权限只读
    传统的权限只能对所有者,群组,其他来设定3套权限
    更复杂的权限则需要依赖ACL
    这个 POSIX ACL 的功能在 Linux kernel 2.6 上被正式支持,之后又被 back-port到 2.4 kernel 上。大家常用的档案系统,如:ext3,xfs,jfs,和
    ReiserFS,都能使用ACL。当然,大家须要在编译 kernel 时启动 ACL。
    ---------------------------------------------------------
    启动 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信息
    #>getfacl test.doc
    # file: test.doc
    # owner: adam
    # group: mis
    user::rw-
    group::rw-
    other::r--
    ---------------------------------------------------------
    访问型ACL设置
    更改ACL

    setfacl” 指令能更改一个档案或目录的 ACL。其用法如下:

    setfacl option rules files

    option:
    -m 用来新增或修改 ACL 中的规则
    -x 用来移除 ACL 中的规则

    rules:
    user:(uid/name):(perms) 指定某位使用者的权限
    group:(gid/name):(perms) 指定某一群组的权限
    other::(perms) 指定其它使用者的权限
    mask::(perms) 设定有效的权限屏蔽
    如果想让hr群组的使用者能读取 “test.doc”而其它的人不能读取的话。 我们可以用以下的指令达成:

    setfacl -m group:hr:r,other::- test.doc
    以 getfacl 检视新的 ACL:
    [adam@www adam]$ getfacl test.doc
    # file: test.doc
    # owner: adam
    # group: mis
    user::rw-
    group::rw-
    group:hr:r--
    mask::rw-
    other::---
    要让使用者 adam 和 eva 能 读取 和 写入, 群组mis 和 hr 只能读取, 其它人不能 读取 和 写入。 我们只须多加两个规则便能达成:

    setfacl -m group::r,user:eva:rw report.doc
    [adam@www adam]$ getfacl report.doc
    # file: report.doc
    # owner: adam
    # group: mis
    user::rw-
    user:eva:rw-
    group::r--
    group:hr:r--
    mask::rw-
    other::---
    ---------------------------------------------------------
    预设型ACL
    预设型ACL 只可用于目录, 它决定了该目录下新建立的档案或目录的 ACL。要设定 预设型ACL, 同样使用 “setfacl”。 所不同的是, 在每个规则前加上“
    default:”, 例如:
    setfacl -m default:user::rw /home/adam
    如果觉得指令太长的话我们可以使用简略字符:
    长写     简写
    user:    u:
    group:   g:
    other:   o:
    mask:    m:
    default: d:
    setfacl -m d:u::rw,d:u:eva:rw,d:g::r,d:o::- /home/adam

    [adam@www adam]$ getfacl /home/adam
    getfacl: Removing leading '/' from absolute path names
    # file: home/adam
    # owner: adam
    # group: adam
    user::rwx
    group::---
    other::---
    default:user::rw-
    default:user:eva:rw-
    default:group::r--
    default:mask::rw-
    default:other::---

    建立新的档案并检视其 存取型ACL:

    [adam@www adam]$ touch newfile

    [adam@www adam]$ getfacl newfile
    # file: newfile
    # owner: adam
    # group: mis
    user::rw-
    user:eva:rw-
    group::r--
    mask::rw-
    other::---

更多关于 【Linux,ACL,权限,文件,访问,Linux上的ACL权限文件访问】 的主题

网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

::发表评论::
 姓 名:
 评 分: 1分 2分 3分 4分 5分
 评论内容:
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用伯虎网IT学院服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。
  • 赞助商链接

    文章搜索 高级搜索

    最新文章

    更多

    热门文章

    更多
    • 此栏目下没有热点文章

    推荐文章

    更多
    • 此栏目下没有推荐文章
    联系站长 | 友情链接 | 版权申明 | 管理登录 | 
    业务支持电话:0514-86138292 邮箱:phopc@126.com QQ:307492388
    Copyright © 2007 - 2008 Phopc.com . All Rights Reserved 苏ICP备07032384号