大家好,我是书记.今天我们来谈谈linux的ACL功能;相信大家对于cisco的ACL那是相当的熟悉了,但是对于linux的ACL功能你了解多少呢?OK ,机会来了~~
Linux中的ACL功能是体现在对文件和目录的权限上, 对于权限设置的精细度上有了非常大的提高;比如一个文件或者目录的所有者和所有者都是tangsir,权限为755,那么也就是说root用户和tangsir可以写入外,其余的人是没有权限的.但是如果我们配置了ACL功能的话,我们完全可以使另一个用户对此文件或者目录有写入的权限.
如何使文件或者目录具有ACL功能呢?我们可以通过配置分区来支持ACL功能. ,我们要明白,是不是所有的分区都支持ACL功能呢?在RHEL5.X版本中,安装操作系统时所建立的分区是支持ACl功能的,安装操作系统任务完成后所建立的分区默认是不支持ACL功能的,那么如何实现这种分区支持ACL功能呢?我们可以使用三种方式来实现操作系统安装成功后所建立的分区支持ACL功能;
(1) 使用mount命令,此命令使一个分区临时生效,重启后ACL会失效.
mount –o remount,acl 分区
mount –o acl 分区 挂载点
以上两种语法的区别:上面的表示的是此分区已经建立且在使用了或者说已经被挂载了,但是还不支持ACL功能,我们通过此命令来实现不影响分区使用的情况下来支持ACL功能;下面表示的是在挂载分区的同时使其具备ACL功能.
例子:第一种情况:
[root@tangsir ~]# mount -o remount,acl /dev/sdb1
第二种情况:
[root@tangsir ~]# mount -o acl /dev/sdb2 /test2
用mount命令来查看信息:
[root@tangsir ~]# mount
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /test1 type ext3 (rw,acl)
/dev/sdb2 on /test2 type ext3 (rw,acl)
从挂载的信息中,我们得知了此分区支持ACL功能
(2) 使用tune2fs命令,此命令可以使分区永久支持ACL功能
例子:
[root@tangsir ~]# tune2fs -o acl /dev/sdb5
使用-l选项来查看分区配置的情况:
[root@tangsir ~]# tune2fs -l /dev/sdb5
tune2fs 1.39 (29-May-2006)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 7e4472be-3a69-4060-b781-4184149d06ad
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal resize_inode dir_index filetype sparse_super large_file
Default mount options: acl è说明了该分区支持ACL功能
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
注意:使用tune2fs命令配置分区,用mount命令是查看不到的,只有通过修改/etc/fstab来支持分区ACL功能后才可以看到
(3) 通过修改/etc/fstab来实现分区支持ACl 功能
[root@tangsir ~]# cat /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
|