当前位置:操作系统 > Unix/Linux >>

solaris下quota机制对用户进行磁盘限额控制实践

如何使用quota机制对用户进行磁盘限额控制

  Solaris中的quota机制是一个很有用的管理机制,它可以使系统管理员对用户的磁盘使用限额进行有效地控制。可以控制的方式包括:限制用户占用磁盘总容量限制用户建立文件总数量限制某个文件系统中用户文件的存在时间

  使用quota机制时,要在需限额的各文件系统之主目录下需事先建立quotas空文件(如无),然后使用edquota -v username命令修改指定用户在该文件系统下的限制份额(0=无限制,单位为k),或该用户在该文件系统下文件总个数限额。使用quotacheck命令使系统确认quotas中的新内容。最后使用quotaon命令使限额生效。检查quota的状态可以使用quota或repquota等命令。

  前提:有多余的文件系统挂载或者对已经挂载的文件系统;本例是在ufs文件系统下实现。

  下面举一示例进行说明。示例中对用户test在/export/home 文件系统中的磁盘限额进行控制:编辑/etc/vfstab文件:#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t0d0s1 - - swap - no - /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes rq swap - /tmp tmpfs - yes -

  然后进入要限制的文件系统:# cd /export/home # touch quotas ;如果该文件已经存在则不需要# edquota test ;edquota将自动启动vi fs / blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)

  ~这里blocks是用户磁盘的限额,单位为k.soft是警告额度,hard是限制额度。

  如果用户占用磁盘量超过警告额度,系统将在每次用户进行磁盘操作或登录时进行警告,要求用户减少磁盘占用量至软限制之下;如果用户的操作会导致超过hard限制,那么操作将失败。

  inodes是用户文件数量,soft和hard的含义类似。

  本例把该用户的限额改变为:警告限制=1024K,硬限制=1024K. fs / blocks (soft = 1024, hard = 1024) inodes (soft = 0, hard = 0)

  ~;别忘存盘退出# quotacheck -a ;通知系统确认新的quota # quotaon /export/home ;打开quota机制# repquota -v /export/home ;显示一下结果/dev/dsk/c0t0d0s0 (/):Block limits File limits User used soft hard timeleft used soft hard timeleft test ―― 6 1024 1024 0 0 0

  建立两个试验用的文件:# cd /tmp # mkfile 1000k a1000k # mkfile 1080k a1080k # chmod 666 a1000k # chmod 666 a1080k

  # su - test Sun Microsystems Inc. SunOS 5.9 Generic May 2002 $ ls -l total 6 -rw-r――r―― 1 userq other 124 Mar 18 09:25 local.cshrc -rw-r――r―― 1 userq other 607 Mar 18 09:25 local.login -rw-r――r―― 1 userq other 582 Mar 18 09:25 local.profile $ cp /tmp/a1000k . $ cp /tmp/a1080k . quota_ufs: over hard disk limit (pid 1070, uid 1002, inum 371751, fs /)

  cp: /tmp/a1080k: Disc quota exceeded

  列目录看看,第二个cp操作因超过硬限额而失败。

  $ ls -l total 2022 -rw-r――r―― 1 userq other 1024000 Mar 18 10:35 a1000k -rw-r――r―― 1 userq other 124 Mar 18 09:25 local.cshrc -rw-r――r―― 1 userq other 607 Mar 18 09:25 local.login -rw-r――r―― 1 userq other 582 Mar 18 09:25 local.profile $ exit

  下面用edquota把test的硬限制改为2124后,再重复试验(别忘quotacheck!):

  ……

  $ cp /tmp/a1080k . quota_ufs: Warning: over disk limit (pid 1151, uid 1002, inum 371751, fs /)

  列目录看看,警告归警告,可是操作还是成功了。

  $ ls -l total 4198 -rw-r――r―― 1 userq other 1024000 Mar 18 10:35 a1000k -rw-r――r―― 1 userq other 1105920 Mar 18 10:45 a1080k -rw-r――r―― 1 userq other 124 Mar 18 09:25 local.cshrc -rw-r――r―― 1 userq other 607 Mar 18 09:25 local.login -rw-r――r―― 1 userq other 582 Mar 18 09:25 local.profile $ exit

  

上一个:FreeBSD分区知识学习及实验备忘录
下一个:SCOOpenServer下编译及使用GCC3.0

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,