当前位置:Linux教程 - Linux综合 - 用磁盘限额管理Linux用户账号

用磁盘限额管理Linux用户账号

    Linux中的磁盘限额利用软件对特殊用户账号所使用的磁盘空间进行限制。本教程说明如何在系统上建立磁盘限额。

Linux,以及其它以Unix为基础的操作系统的一个优点在于它的多用户处理能力。用户账号从严格特权分离这种增强的安全性中受益,多个用户可同时处于活动状态,并可从本地通过输入与输出设备或由远程通过网络服务进行访问。这种优点使得Linux成为多用户工作站、应用服务器与远程测试平台的理想系统。

这些应用可能会面临在单用户计算机上不会出现的社会挑战。挑战之一为共享存储空间,也就是一些用户,不管出于什么原因,无法与他人共享空间这一事实。这可能源自“逃避”某种后果的期望,就像在生日晚会上总想得到最大的那块蛋糕一样;或者这些问题用户可能只是忘记了共享一台计算机这件事,并不去或不愿注意他们自己的磁盘使用情况。当用户开始独占磁盘空间,并因而损害了其它用户的利益,多用户计算机的系统管理员就有必要思考如何用预先设定的限制来控制磁盘的使用情况。实际上,在建立一个多用户系统时,提前考虑(磁盘限额)可能是个好主意,不能等到有人已经越过了合理的界限才采取行动。

你可以与磁盘空间囤积者接触并与他们理论,但是,如果他们通情达理的话,他们一开始就不会让你陷入现在的这种境地。如果你不提前做出计划,那么在你开始应用自动化的方法进行限制,并使他们符合你打算设置的限制前,你得小心翼翼地要求他们减少磁盘使用空间。你还可以应用公开困窘的方法:在某个地方发行大家可以相互访问的各人磁盘空间使用空间统计数据,希望同辈压力帮助你的问题用户遵守磁盘使用限制。但这种方法在大多数情况下都不会成功,对那些你无法限制其意愿的人——可能出于政治原因,你的老板——这可能是你的唯一选择。通常,与上述这些解决办法相比,技术解决方案是更好的选择。幸运地是,由于大多数社会问题都涉及到计算机,代码黑客已着手应对提供多种方式让计算机处理其它用户的挑战,这样普通用户就没有必要这样做。

如果你的用户足够少,有理由这样做,并且你系统的用户名册不会发生改变,你可以为每个用户建立一个独立的分区,并将他们单独安置在你的多用户计算机文件系统的主目录区域内。但是,如果用户群体不断变化,或是有许多用户,则这种方法可能很快会失去控制,且非常难以管理。但是,万一每个用户需要大量的存储空间,应用网络连接存储就是合理的管理方案。实际上,你可以应用一用户一磁盘的方法解决问题。不幸的是,大多数的多用户系统管理员并未意识到自己处在这一境地。

对多数系统管理员而言,磁盘限额是最好的解决办法。Linux中的磁盘限额利用软件对特殊用户账号所使用的磁盘空间进行限制。尽管有许多包含花哨装置的免费而又复杂的限额管理系统,以及昂贵的商业限额管理系统可以解决这一问题,但是最简单且可能最方便的解决办法,是所有主流Linux产品管理员可免费应用的基本命令行quota工具集。应用这种常用的磁盘限额系统,操作系统自身就可对不同用户账号进行存储空间限制。

磁盘限额可以为每个用户账号单独配置。并且,当有成批的用户需要在同样的限制下进行操作时,这种配置还可以方便地进行复制。系统自动运行,并可进行设置,向那些超出限制,但在预先设定的较高限额内的用户发出警告与宽限时间,以一种有益、宽大但依然高效的方式保证用户对限额的遵守。与为每个用户账号应用单独分区、或整个单独物理磁盘不同,在这种情况下,对磁盘限额进行必要的修改只是小事一桩。这种方法的最大优点在于,你不必直接面对用户,因为磁盘限额系统一旦设定,系统即会自行进行管理。

准备磁盘限额

为系统的磁盘限额做准备包括几个简短的步骤。在你决定执行限额系统时,这些是必需的一次性步骤。一旦系统的磁盘限额设置完毕,你就不必再次执行这些步骤。

安装

首先,你得安装限额系统。如何进行安装因所使用的Linux 系统而异,但如果该系统没有被默认安装的话,你的Linux软件包管理系统应可提供简单方便的限额系统安装方法。要检查限额系统是否已安装,你可以打开一个外壳界面,在其中输入quato命令;或者使用kterm或gterm这样的终端模拟器;或是在TTY控制台上登记。如果quato已安装,且用户名为foo,你将会看到下列代码:

$ quota

Disk quotas for user foo (uid 1000): none

如果限额系统没有安装,你将得到一个“命令未发现”响应。如果你得到磁盘限额信息,则表明有人已在你的机器上执行了磁盘限额。

以下是一个应用APT软件管理系统的apt-get命令在Debian GUN/Linux系统上安装quota的例子:

$ apt-get install quota

Reading package lists... Done

Building dependency tree... Done

The following NEW packages will be installed

quota

0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.

Need to get 439kB of archives.

After unpacking 1188kB of additional disk space will be used.

安装以后,会出现更多与安装有关的信息,你的Debian系统还会问你许多处理限额违反报告的问题。在其它Linux产品上的安装过程与上述过程十分相似。

如果因为某种原因,你的Linux产品无法提供通过软件包管理器安装quota的方法,那么,你得从sourceforge.net/projects/linuxquota下载并进行安装。

(出处:http://www.sheup.com)