易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux高级权限管理:ACL用法简介

转自: http://ipie.blogbus.com/logs/36730036.html
 
Linux高级权限管理:ACL用法简介
2009-03-18 23:11:22 by deepblue
前段时间,在Linux上设置一个目录的访问权限时,发现通过简单的chmod操作不能满足自己的需求,
问题:如果用root帐号创建了一个目录DIR,有A,B,C,D四组用户,我想给A组用户读写执行的权限(rwx),给B组用户读写的权限(rw-),给C组用户读的权限(r--),不给D任何权限(---),要如何实现?
UGO的局限性
通常大家熟悉的是UGO的权限管理方式(User, Group, Other),即对一个文件的所有者,所属组和其他用户来分别设置该文件的读写执行权限。对于简单应用来说,这种粗粒度的权限管理方式已经够用了,设置起来也很方便。然而,当我们需要对某个文件进行较复杂详细的权限设置时,UGO方式就显示出了其局限性。
如,对于本文开始所提出的问题,需要为四组不同用户设置对目录DIR的不同访问权限,而UGO方式只能对目录的所有者,所属组,以及其他用户设置不同权限,即最多只能设置3种不同权限,还不能对多个不同用户分别设置。
ACL则很好的满足了这样的需求。
ACL简介
ACL,全称Access Control List,即文件/目录的访问控制列表,可以针对任意指定的用户/组分配rwx权限。现在主流的商业Unix系统都支持ACL。FreeBSD也提供了对ACL的支持。Linux在这个方面也不会落后,从2.6版内核开始支持ACL[1]。顾名思义,ACL将用户对一个文件访问权限就像是放在了一个列表里,列表的每一项分别对应了一个或一组具体用户对该文件的特定访问权限。这就使任意的访问权限管理成为了可能。
下面我们来看看如何通过ACL进行详细的文件访问权限管理。
检查ACL包安装情况
首先检查你的Linux系统的核心是否有支持ACL的功能。因为Linux系统并不是每一个版本的核心都有支持ACL的功能,而且即使在 kernel 中已加进了 ACL 的支持,也不一定已经自动启用。最简单的方法就是检查系统目前的核心能否支持,下面是我在ubuntu8.04上面查看boot/config文件的结果:
zhou@zhou-desktop:~$ uname -a
Linux zhou-desktop 2.6.24-23-generic #1 SMP Thu Feb 5 15:00:25 UTC 2009 i686 GNU/Linux
zhou@zhou-desktop:~$ cat /boot/config-2.6.24-23-generic | grep -i acl
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_GENERIC_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y


相关文档:

ubuntu linux ppp 拨号 GPRS

一 首先安装ppp, 用sudo apt-get install ppp
二 拨号上网, 一共有3种方式
1.使用命令 pppd call somescript 的方式
- 在 /etc/ppp目录下,建立3个文件:pap-secrets,chap-secrets,gprs-connect-chat
  和一个目录:peers
  在peers目录下建立一个文件gprs
这4个文件的内容如下:
---------------------- ......

oracle在linux下怎么安装

red hat linux 下安装 oracle 10g
racle考资料:
Oracle官方网站: http://download.oracle.com/docs/html/B10813_01/toc.htm
一、以root用户登录, 进行如下操作:
1 检查硬件要求
* 主要包括:
********************************************************************
* 内存:      & ......

linux 下压缩、解压 打包命令

ZZ 自http://dev.firnow.com/course/6_system/linux/Linuxjs/200896/139627.html     
      .tar
  解包: tar xvf FileName.tar
  打包:tar cvf FileName.tar DirName
 
 (注:tar是打包,不是压缩!)
  --------------------------------------------- ......

Linux下创建数据库表(sqlite3)的脚本

本文以数据库中的数据表UserInfo为实例展示数据库表的创建及数据记录的录入。
#!/bin/sh
#variables definition
#database location
db=/conf/db
#
#create table userInfo
#name: User name
#passwd: Password
#Privilege: User privilege -- Administrator:0 Operator:1
#
echo "create table UserInfo(n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号