posts - 297,  comments - 15,  trackbacks - 0

Linux文件系统给所有者(owner)、所有组(owning group)、其它(other)每一类用户分别定义了的rwx权限,且是彼此独立的。虽然Linux有也Linux特殊文件权限的功能支持,但要像在Windows下把权限控制可以精确到用户和组(如允许某个文件允许某一特殊用户修改,允许某一组的用户可以查看等)一样灵活,这些显然还不够。令人欣慰的是,Linux也有ACLs权限控制的支持,在Linux中ACLs在ReiserFS,Ext2,Ext3,JFS,XFS等文件系统中受到支持。

修改文件ACL:setfacl -m u:tux:rw file允许用户tux读写file文件

查看文件ACL:getfacl file

使用了ACL的文件,通过ls -l命令来查看权限时,后面会有一个“+”号,group的权限会有变化(使用了ACL mask权限)。

文件使用ACL后,权限角色有如下几种类型:

最小化ACL:

owning user

owning group

other

扩展ACL:

可以包含若干个对象:named user(设置单独用户的访问权限)、named group(设置单独群组的访问权限)

包含一个mask(限制named users 和 named groups的权限)

举例说明如下:

owner user::rwx

named user user:name:rwx

owning  group group ::rwx

named group group :nam e:rwx

mask mask::rwx

other other::rwx

定义在owner、other里的权限一直都是有效的,其它权限可能用效或者被隐蔽。

named user与named group的值是否生效,还要看其值与mask的“与”值,即mask也要有该权限,才能生效。

mask的值一般是与owning group一致的,可以通过修改owning group的值来修改mask。

举例说明如下:

linux-canbeing:/home/canbeing/temp # getfacl my

# file: my

# owner: canbeing

# group: users

user::rw-

user:canbeing:rwx#effective:r-x   w没有生效

group::r--

mask::r-x

other::r--

子目录会继承父目录的ACL。

如果父目录有ACL,则创建新文件或者文件夹时,默认权限不会根据umask来计算,而是继承或者根据命令参数。

使用setfacl -d -m u:canbeing:rw /tmp/acl_test/  则此权限会得到子目录及文件的继承(权限以default开头)

linux-canbeing:/tmp/acl_test # getfacl /tmp/acl_test/

getfacl: Removing leading '/' from absolute path names

# file: tmp/acl_test/

# owner: root

# group: root

user::rwx

user:canbeing:rwx

group::---

mask::rwx

other::---

default:user::rwx

default:user:canbeing:rw-

default:group::---

default:mask::rw-

default:other::---

from:
posted on 2010-01-28 15:02 chatler 阅读(237) 评论(0)  编辑 收藏 引用 所属分类: Linux_SysAdmin

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2012年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(10)

随笔分类(307)

随笔档案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感觉这个博客还是不错,虽然做的东西和我不大相关,觉得看看还是有好处的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新评论

阅读排行榜

评论排行榜