当前位置导航:炫浪网>>网络学院>>操作系统>>Linux教程

linux安全:Linux ACL 体验

    在安全管理日益重要的今天,传统的 Unix 文件系统的 UGO 权限管理方式已经无法满足日常系统管理工作的需要。而 ACL 机制逐渐成为主流的权限管理方式。本文主要介绍了在基于 Linux2.6 内核的发行版 Fedora Core 上进行的一些 ACL 基本功能的实验。

ACL 简介

    用户权限管理始终是 Unix 系统管理中最重要的环节。大家对 Linux/Unix 的 UGO 权限管理方式一定不陌生,还有最常用的 chmod 命令。为了实现一些比较复杂的权限管理,往往不得不创建很多的组,并加以详细的记录和区分(很多时候就是管理员的噩梦)。可以针对某一个用户对某一文件指定一个权限,恐怕管理员都期待的功能。比如对某一个特定的文件,用户A可以读取,用户B所在的组可以修改,惟独用户B不可以……。于是就有了IEEE POSIX 1003.1e这个ACL的标准。所谓ACL,就是Access Control List,一个文件/目录的访问控制列表,可以针对任意指定的用户/组分配RWX权限。现在主流的商业Unix系统都支持ACL。FreeBSD也提供了对ACL的支持。Linux在这个方面也不会落后,从2.6版内核开始支持ACL。

准备工作

    支持ACL需要内核和文件系统的支持。现在2.6内核配合EXT2/EXT3, JFS, XFS, ReiserFS等文件系统都是可以支持ACL的。用自己工作用的物理分区体验ACL,总是不明智的行为。万一误操作导致分区的损坏,造成数据的丢失,损失就大了。作一个loop设备是个安全的替代方法。这样不需要一个单独的分区,也不需要很大的硬盘空间,大约有个几百KB就足够进行我们的体验了。OK,下面我使用Fedora Core 5和Ext3文件开始对Linux的ACL的体验。

首先创建一个512KB的空白文件:


[root@FC3-vm opt]#  dd if=/dev/zero of=/opt/testptn count=512

512+0 records in

512+0 records out


和一个loop设备联系在一起:


[root@FC3-vm opt]#  losetup /dev/loop0 /opt/testptn


创建一个EXT2的文件系统:


[root@FC3-vm opt]#  mke2fs /dev/loop0

mke2fs 1.35 (28-Feb-2004)

max_blocks 262144, rsv_groups = 32, rsv_gdb = 0

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

32 inodes, 256 blocks

12 blocks (4.69%) reserved for the super user

First data block=1

1 block group

8192 blocks per group, 8192 fragments per group

32 inodes per group



Writing inode tables: done

Writing superblocks and filesystem accounting information: done



This filesystem will be automatically checked every 30 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.


    挂载新建的文件系统(注意mount选项里的acl标志,我们靠它来通知内核我们需要在这个文件系统中使用ACL):


[root@FC3-vm opt]#  mount -o rw,acl /dev/loop0 /mnt

[root@FC3-vm opt]#  cd /mnt

[root@FC3-vm mnt]#  ls

lost+found


   现在我已经得到了一个小型的文件系统。而且是支持ACL的。并且即使彻底损坏也不会影响硬盘上其他有价值的数据。可以开始我们的ACL体验之旅了。

 

[1] [2] [3] [4] 下一页  

相关内容
赞助商链接