·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux文档 | Linux论坛 | Linux下载 | Linux博客 | Linux搜索
新手入门 | 安装启动 | 管理员指南 | 开发者手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | RHEL | Ubuntu | Apache | MySQL | PHP
  Linux时代 >> 技术文档 >> 系统管理
 
Linux上的ACL权限文件访问
来源: ChinaUnix博客  日期: 2008.04.27 23:11 (共有条评论) 我要评论
 


    在 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::---


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_602233.html
  发表评论 查看评论(共有条评论) 我要提问
 
 


最新资讯更多>> 
· 我为何选择mandriva,兼谈ubun..
· openSUSE 11.1 开发日程表公布
· 发行版发布:Gentoo Linux 2008.0
· Symbian开源:救赎 反击与未来
· Google发布内部安全侦测工具Ra..
· RMS攻击盖茨、微软及其慈善基金会
· Richard Stallman对盖茨退休的..
· 发行版发布:Ubuntu 8.04.1
· Ubuntu Tweak 0.3.4正式发布
· 哪一个 Linux 发行版最流行?
论坛热点更多>> 
· 70后和80后 的婚姻
· crontab内容无法启动
· 系统时钟比硬件时钟快很多,..
· [转贴]热词“俯卧撑”风靡网络
· 墙纸 1280x1024
· 闲啊闲~闲啊闲
· 好儿呢。。。
· 原来我也是一个小心眼得女人
· 信誉积分怎么得?
· @@
文档更新更多>> 
· [转]几种linux内核文件的区别
· Debian 在线播放
· epoll入门
· yum出现Existing lock /var/run/..
· RPM 的介绍和应用
· SSH客户端命令的使用
· Unix/Linux下文件基本操作
· vmstat命令列出的属性详解
· linux学习笔记分享 (Linux入门绝佳)
· squid 命令行选项分类
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2008 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们