您的位置:首页 > 职场人生

ACL与磁盘配额结合应用小结 推荐

2010-02-07 09:56 549 查看
在linux系统下,对于文件系统权限而言,常用的是DAC(自由访问控制),假设root要赋予某个用户执行权限,就必须添加该文件的执行权限。于此同时,另外一些不怀好意用户就有可能利用该权限进行一些增删剪除等破坏活动。这时,我们可以用到ACL(扩展访问控制)来解决这样的问题。在现实中用于Samba服务器的设置中。
ACL可以对现有的文件权限进行扩充,在传统的DAC模型之外为文件新添加控制协议。
当然了,我们你必须首先要启用ACL功能。

在根目录下创建share文件夹,使其具有读写权限。



并新建磁盘分区为/dev/sda5,格式化后并挂载在root目录下的/share目录下,
新建用户liu,使liu用户在share文件具有读写权限的情况下具有执行权限。在没有设置之前,用户liu没有执行权限。(可以和后面liu具有执行权限之后进行对比一下)



首先用vim编辑器打开/etc/fstab文件,在该文件中新增加一行(这样做的目的是使acl权限永久生效当然也可以只对当前用户生效。如果在挂载时在mount加上-o acl ,后面跟正常的挂载参数即可即:mount -o acl /edv/sda5 /share),如图所示最后一行,后面的usrquota和
grpquota是后文中做磁盘配额时要用到的,后面会介绍到,这里先不多说。


别忘了,挂载完成后查看一下是否挂在成功,直接输入mount即可查看挂载情况。



接下来要做的是设置文件的访问控制功能。可以用setfacl这个命令来执行。
setfacl的用法格式是:setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...
例如:
setfacl -x g:staff file
意思是:删除file文件对staff组的acl控制属性
setfacl -m m::rx file
意思是:设置默认file文件属性
setfacl -m u:lisa:r file
意思是:增加lisa用户对文件file的读权限。
好了,言归正传,现在开始设置share文件的acl属性,
setfacl –m u:liu:rwx /share
设定liu用户对share文件具有可读可写可执行权限,设定完毕后,用fetfacl share命令查看一下是否设定成功。



修改成功后,可以切换到liu用户,验证一下是否具有执行权限。验证结果为liu用户具有执行权限。



同样,还可以设定属组权限为可读和可执行,比如:setfacl –m g:mygroup:rw share



好了,关于设置文件访问控制权限就到这里,接下来,去了解一下关于磁盘配额的问题。
还是以上面的磁盘/dev/sda5为例子,依然挂载在/share目录下。
[align=left]磁盘配额主要是设置在对磁盘空间不足的情况下,对用户使用磁盘空间进行限制。在linux服务器的配置中应用广泛。比如:[/align]
[align=left]限制某一群组所能使用的最大磁盘配额(使用群组限制)[/align]
[align=left]限制某一用户的最大磁盘配额(使用用户限制)[/align]
[align=left]以Link方式使邮件可以作为限制的配额(更改/var/spool/mail这个路径)等等。[/align]
[align=left](注:由于真正的quota读取的是/etc/mtab这个文件,但这个文件需要重新启动之后才能够以/etc/fstab的新数据进行改写,所以这时可以:[/align]
[align=left]1、重新启动系统==>reboot[/align]
[align=left]2、重新使用remount filesystem来驱动设定值。)[/align]
[align=left] [/align]

[align=left]quota程序的限制内容主要分为以下几个部分:[/align]
[align=left]soft: (软限制)这是最低限制容量,用户在宽限期间的容量可以超过soft,但必须在宽限时间内将磁盘容量降低到soft的容量限制下.[/align]
[align=left]hard: (硬限制)这是绝对不能超过的容量.跟soft相比,通常hard的限度会比soft的限度高,其实,soft到hard之间的容量就是宽限的容量,可以起到警示作用.[/align]
[align=left]宽限时间: 宽限时间就是用户使用的空间超过了soft limit,但还没有到达hard limit,在这个宽限时间内,用户需要将使用的磁盘容量降低到soft limit之下.当用户的磁盘容量使用情况超过soft limit时,宽限时间就会自动启动,而在用户将容量降低至soft limit之下,宽限时间就会自动取消。[/align]
[align=left]首先要做的是开启磁盘的quota功能(上面的usrquota和grpquota在此处会用到):[/align]
[align=left]编辑/etc/fstab文件,加入usrquota和grpquota。使用命令mount –o remount重新挂载磁盘,,使quota磁盘可以支持quota。完成后用mount命令查看一下是否成功。[/align]



[align=left]接着是使用quotacheck扫描要使用的磁盘。[/align]
[align=left]使用edquota来编辑liu用户(或群组)的可使用空间;[/align]
[align=left]命令为 edquota –u liu [/align]
[align=left]注:(设置组的命令为edquota –g groupname[/i]) [/align]



[align=left]设置完成后保存退出,那下一步呢?当然是启动quota了,命令如下:[/align]
[align=left]quotaon –vu share [/align]



[align=left](当然喽!启动quota群组时要使用quotaon –vg filename[/i]命令咯)[/align]
[align=left] (同理,关闭quota用户或群组时要用quotaoff命令哦!^_^)[/align]
[align=left]接下来用edquota –t 命令(后面不跟任何参数)来设定当用户超过软限制后,继续使用超出软限制的磁盘空间的宽限期。意思就是当用户的磁盘空间使用量超过软限制以后要在指定的时间内把超出软限制的磁盘空间清空,否则,哼哼!那就对你不起啦,系统就会帮你“清空”了。一般默认的宽限时间为7天,但是具体的宽限期就看管理员root是怎么设置的了。[/align]



[align=left] [/align]
好了,设置完成了,但是到底设置的这些内容有效吗?来,一块测试一下吧!
以su – liu 命令切换到liu用户
在share文件夹下复制一些数据看看。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息