Linux系统管理(2)
第二部分 磁盘空间管理
由于Linux是多用户的操作环境,如果任由每个用户存放文件而不加限制,磁盘空间将迅速消耗,很快便无法使用。Quota的功能就是去限制用户运用的磁盘空间。在系统尚未设置磁盘空间时,可用执行quota 命令检查自己的磁盘使用空间,若出现下列信息,则表示没有限制:
[lambert@free lambert]$ quota
Disk quotas for user lambert (501):none ← 无限制
这表示用户lambert可以任意堆放文件,直到塞满整个磁盘为之,这样将造成其他用户都无法储存数据。为了避免这种毫无节制、滥用空间的灾难发生,本节将讨论如何为用户设置磁盘空间的限制。
一,编辑fstab文件
用文本编辑程序打开/etc/fstab 文件,其内容如下:
编辑ext3文件系统原生分区的设置表示要创建用户与组的磁盘空间限制:
LABEL=//ext3 defaults,usrquota,grpquota 1 1 ← ext3文件系统分区
倘若只要限制用户或组的磁盘空间,则只需要加上usrquota或grpquota其中一项即可,保存文件后退出,请重新启动。
对fstab文件中各字段的代表意义有兴趣者,可执行man fstab和man mount命令来查看相关信息。
二,生产配置文件
修改fstab文件后,请先在系统根目录下执行touch aquota.user与touch aquota.group命令,自行创建aquota.user及aquota.group两个文件,接着执行quotacheck命令设置:
[root@free root]# quotacheck –ugavmc
Quotacheck: Scanning / dec/ hda1[/]done
Quotacheck: Checked 10064 directories and 202332 files
以下是用于quotacheck命令的参数说明:
-a参数:扫描fstab文件加入quota设置的分区。
-d参数:详细显示命令执行过程,便于调试或了解程序执行的情形。
-g参数:扫描磁盘空间时,计算每个组标识符(GID)所占用的目录和文件数目。
-v参数:标识命令执行过程。
-m参数:强制执行命令。
-c参数:不读取已经存在的aquota数据库,重新扫描硬盘并保存。
进行如上操作后然后重新启动,并设置用户的磁盘空间。
三,执行quotaon
要取消磁盘空间的限制,执行quotaoff -avug命令即可。范例如下:
[root@free root]# quotaoff –avug
/dec/hda1[/]:group quotas turned off
/dec/hda1[/]:user quotas turned of
四,检查是否超过磁盘限制
一般的用户执行 quota –v命令,可知自己是否超过限制:
[lambert@free lambert]# quota –v
Disk quotas for user lambert(501):
……
第三部分 文件系统与权限设置
当所有人都把目光投注在操作系统身上时,却常常忘记了一个极为重要的配角――文件系统。文件系统的优劣与否和操作系统的执行效率、稳定性以及可靠度息息相关。
一,认识系统的目录
在安装Linux的磁盘中会有很多系统默认的目录,这些目录依照不同的用途而放置特定的文件。在前面已经简单介绍过一些常用的目录,以下将详细说明每一个默认目录的功能:
/: 根目录,包含整个Linux系统的所有目录和文件。
/bin:此目录放置操作系统时所需要使用的各种命令程序。例如cp、rpm、kill、tar、mv、rm与ping等常用命令,还有各种不同的Shell,如bash、bash2、tcsh等。
/dev:存放界面设备代号的文件。例如硬盘的/dev/had、终端机等。这些文件比较特殊,他们实际上都指向所代表的界面设备。
/etc:存放与系统设置、管理相关的文件。例如记录账号名称的passwd文件、投影口令文件shadow都放在这里。
/etc/X11:X Window 配置文件的目录。
/etc/rc.d:这个目录包含了启动或关机时所运行的script文件。
/home:此目录默认用来设置用户账号的主目录。
/lib:放置一些共享的函数库。
/lib/modules:存放系统内核的模块。某些可被模块化的部分,并不需要在编译系统内核本体,避免内核过大导致效率较低。
/lost+found:文件系统发生问题时,Linux会自动扫描磁盘试图修正错误,倘若找到遗失或错误的区域,就会将这些区域转成文件存放于目录中,等候管理员来进一步处理。
/misc:默认空无一物,供管理员堆放公共杂物。默认权限时全部用户都可以读取和执行文件,但是只有管理员能够写入文件。
/mnt:此目录下默认有/mnt/cdrom和/mnt/floppy两个目录,用来作为光盘与软件的加载点.
/proc:系统内核和执行程序之间的信息,如执行ps、free等命令时所看到的信息,就是从这里读取。这目录内的文件并非真的存在,用户看到的虚拟文件。
/root:系统管理员专用的目录,即root账号的主目录。
/sbin:此目录存放启动系统需运行,例如 fsck、init、grub、lilo与swapon等
/tmp:供全部用户暂时放置文件的目录。系统默认可让所有用户读取、写入和执行文件,因此对于一般用户来说,若觉得自己的磁盘空间不够使用,便可暂时利用此目录存放文件。这里也是临时文件的目录,某些程序在执行中说产生的临时文件会存放在这个目录内。
/usr:此目录包括许多子目录,用来存放系统命令。程序等信息。
/usr/bin:放置用户可以执行的命令程序,如find、free、gcc等。
/usr/share/doc:存放各种文件的目录。
/usr/share/man:放置多种帮助文件。
/usr/src:存放源代码的地方,Linux系统内核的源代码就放在此目录下。
/var:系统执行时,需要暂时记录存放的数据或临时文件,都会放置在这个目录里。
/var/tmp:前面介绍的/tmp目录除了放置所有用户暂时存放的文件之外,还提供给程序产生的临时文件使用,因此经常会因对方许多文件,而显得非常杂乱。管理员通常会定时清理/tmp目录,维护磁盘空间的整洁。加入不想将某些文件混入/tmp目录中,可以选择存放在这里。
二,文件属性
d:表示这是一个目录。在ext3中,目录被视为一种特殊的文件。
-:表示这是一个普通的文件
l:表示这是一个符号链接的文件,实际上它指向另一个文件。
b、c:分别代表区块设备和其他的界面设备,是特殊类型的文件。
s、p:这些文件关系到系统的数据结构和通道,通常很少见到。
1,一般权限
r (read,读取):对文件而言,用户具有读取文件内容的权限。对目录而言,用户拥有浏览目录内容的权限。