好学IT学院:IT信息技术分享交流平台
标签:Linux  来源:IT中文网内容工作室  作者:NC_Editor  发布时间:2007-11-01  ★★★加入收藏〗〖手机版
摘要:1. share 和 mount 命令 这是系统管理员常用的两个命令,share命令用于把本机的目录共享出来,以便其它UNIX系统可以使用;mount命令则用于把其它UNIX系统共享出来的目录挂接到本机的挂接点上,从而可以使用其它UNIX系……

1. share 和 mount 命令

这是系统管理员常用的两个命令,share命令用于把本机的目录共享出来,以便其它UNIX系统可以使用;mount命令则用于把其它UNIX系统共享出来的目录挂接到本机的挂接点上,从而可以使用其它UNIX系统的资源。例如:
在机器A上输入 machineA# share -F nfs -o rw /share-dir
在机器B上输入 machineB# mount -F nfs machineA:/share-dir /mount-point
第一条命令把机器A的 share-dir 目录共享出来,并且共享的权限是可读写;
第二条命令把机器A的共享目录挂接到机器B的 mount-point 目录上。
完成这两个命令后,用户在机器B上通过对mount-point的访问就可以操作机器A上的
share-dir目录了。

但是有时我们操作时,在机器B上执行了mount命令后,会返回
"RPC: Program not registered"这样的错误,这是因为在机器A上缺少mountd和nfsd 这两个守护进程(daemon)。UNIX系统启动时,系统会自动检查/etc/dfs/dfstab文件,如果文件中有要共享的资源,则启动这两个守护进程,反之,则不启动。所以如果我们在/etc/dfs/dfstab中没有内容,则系统不能启动mountd和nfsd这两个守护进程,用share命令共享的目录也不能真正被别的系统共享。

解决这个问题的方法很简单,我们可以把要共享的目录放入/etc/dfs/dfstab中,则下一次系统启动时会自动共享这个目录;另外,我们也可以手动启动这两个守护进程,方法是首先用超级用户(root)登陆,在命令行输入如下命令:
machine_A# /etc/rc3.d/S15nfs.server start
或输入:
machine_A# /usr/lib/nfs/mountd
machine_A# /usr/lib/nfs/nfsd -a 16
就可以启动这两个守护进程了。

守护进程启动后,共享目录才真正被共享出去,这时再在机器B上用mount命令就可以把机器A的目录挂接到机器B上了。

2. quota 系列命令

UNIX作为一种多用户系统,它允许多个用户共同使用系统的资源,包括系统的内存,CPU和硬盘。在默认情况下,系统并不会限制每个用户可以使用硬盘空间的大小,所以如果用户恶意使用硬盘,或用户由于疏忽,将硬盘空间全部占用,将导致其他用户无法使用硬盘,从而使系统性能下降,甚至有崩溃的危险。

其实,UNIX提供的quota系列命令可以帮助我们解决这个问题,这些命令包括:
quota : 显示用户的硬盘限额和使用情况。
edquota : 为每个用户设定硬盘限额。
quotaon: 启动文件系统硬盘限额服务
quotaoff : 关闭文件系统硬盘限额服务
repquota : 显示当前硬盘限额状态
配置这项服务的方法很简单。但在使用硬盘限额服务之前,我们要明白硬限制和软限制这两个概念。所谓硬限制是指对资源节点和数据块的绝对限制,在任何情况下都不允许用户超过这个限制;而软限制是指用户可以在一定时间范围内(默认时为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置)超过软限制的额度,在硬限制的范围内继续申请资源,同时系统会在用户登录时给出警告信息和仍可继续申请资源剩余时间。如果达到时间期限,用户的硬盘使用仍超过软限制的额度,则系统将不允许用户再申请硬盘资源。

明白了这两个概念,我们就可以配置硬盘限额服务了,首先我们必须在要限制的文件系统的根目录下建立一名字为quotas的文件,该文件的所有者应是root,且其它用户不可以对它进行写操作。方法是:
# cd /home (进入文件系统根目录,注意并不是系统根目录,本例为/home目录)
# touch quotas (创建一名字为quotas的空文件)
# chmod 644 quotas (更改文件属性,使只有root可以对它进行写操作)

然后,我们编辑/etc/vfstab文件,找到要进行硬盘限额服务的文件系统,并将
mount option字段的值设为rq,然后并存盘退出。

完成这两步后,我们使用edquota命令为每个用户设置硬盘限额,在root权限下输入以下命令:
#edquota username
这时系统会自动生成一个临时文件,并且有如下内容:
fs /users blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)
其中fs字段表明使用硬盘限额的文件系统,本例为/users,block和inodes表明用户可以使用的硬盘千字节数和I节点数,即用户可使用的硬盘空间和可建立的文件数,soft和hard分别对于前面提及的软限制和硬限制。

编辑这个文件,把软,硬限制设置到合适的数值,然后存盘退出。这时我们可以看到quotas文件的大小已经被改变,说明用户的限额已经储存。重复这条命令,给每一个用户都配置硬盘限额。另外,如果我们分配给用户的硬盘限额都相同,我们可以使用 "-p" 参数而不用为每个用户都编辑一个文件,它的使用方法是:
#edquota -p reference-username username

编辑完文件后,我们就可以用quotaon来启动服务了,在root权限下输入
#quotaon /users
就可以启动限额服务。如果我们要查看各个用户的当前使用情况,可以使用
repquota 命令,在root权限下输入:
#repquota /users
系统会显示:

从中我们可以很容易看到用户的硬盘和文件的使用情况以及超过软限制后仍可申请资源的时间等等。

当然我们可以用quotaoff取消硬盘限额服务。另外,系统还提供quotacheck 命令对限额的一致性进行检查。-www.itcncom.com