linux-如何限制普通用户的磁盘使用空间-磁盘配额quota,Linux系统下如何进行磁盘配额Quota的设置...

Linux如何进行磁盘配额quota的设置

通过quota进行磁盘配额,可以控制用户对磁盘空间和文件的控制,我们以一个实例作为说明,对2个用户user01、user02分别进行磁盘使用空间和创建文件的限制。

首先,创建一个新的分区,将/tmp挂载在新的分区。

#fdisk /dev/hda

创建后执行:

#partprobe

重新写分区表

#mkfs –t ext3 /dev/hda7 格式化分区

#mount /dev/hda7 /tmp 将/tmp挂载到hda7分区

修改分区表

#vi /etc/fstab增加usrquota,grpquota

/dev/hda7 /tmp ext3 defaults, usrquota,grpquota 0 0

创建用户

#useradd user01

#useradd user02

#cd /tmp

#mount –o remount /tmp

#quotacheck –cvug /tmp

#quotaon –vug /tmp 开启quota

Quota会在/tmp目录下自动创建quota.user quota.group

对用户user01进行磁盘空间使用限制

#edquota –u user01 修改quota配置文件

Block limits File limits

User used soft hard timeleft used soft hard timeleft

userq -- 0 5000 8000 0 0 0

Block limits是对磁盘空间使用的限制,以字节为单位,soft是指软限制,hard是指硬限制,如例,soft限制为5MB,hard限制为8MB,当用户user01使用空间超过5MB时,系统会进行提示,但可以继续使用空间,而当用户user01使用空间达到8MB时,就会限制用户user01继续使用/tmp空间

我们可以进行一下测试,手动创建相对大的文件:

#dd if/dev/zero of=user01file bs=1M count=4 将创建成功

#dd if/dev/zero of=user01file bs=1M count=6 将创建成功,但会有提示

#dd if/dev/zero of=user01file bs=1M count=9 将创建失败,超出hard限制

对用户user02进行创建文件使用限制

#edquota –u user02 修改quota配置文件

Block limits File limits

User used soft hard timeleft used soft hard timeleft

userq -- 0 0 0 0 50 80

File limits是对用户创建文件的限制,soft和hard同上是软限制和硬限制,分别是50、80,当用户user02创建文件超过50个时,系统会进行提示,但仍可以继续创建文件,而当用户user02创建文件超过80个文件时,就会限制用户user02继续创建文件,但要注意,因为用户user02是在/tmp目录下进行了磁盘配额限制,所以/tmp目录会算做一个文件,所以user02最多只能创建79个文件。

我们可以进行一下测试,手动创建文件:

#for i in $(seq 1 60);do echo “user02file$i”;touch user02file$i;done

创建60个文件,此时quota会进行提示,而当超过80个文件的时候,quota就会限制用户user02继续创建文件

#edquota –t

可以设置timeleft的值,在这里我们都设定为2分钟,重复上面的例子,用户user02创建60个文件,此时会出现quota的提示,但仍可以创建文件,但当我们等待2分钟后,你会发现,user02已经不能再进行创建文件了,这里就是timeleft的作用,就是当你超过soft限制时,设定有效的时间。

其他相关命令

#repquota 重载quota设置

#quota –v 察看quota设置

#quota on/off quota开启/关闭

这样我们就可以对用户进行相应的限制了。

# mount /dev/hda7 /tmp 将/tmp挂载到hda7分区

这种方法比较巧,可以杜绝任何用户都可以无限制任意使用 /tmp 资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux一台机器如何安装两个mysql,在一台linux机器上启动两个mysql实例

环境:linux主机上已经yum安装了mysql,而且数据库正在运行。在不关闭/重启mysql的情况下,重新启动一个新的mysql实例,使用3307端口,实现一台机器上同时运行两个数据库实例。1、创建新的mysql实例数据存储目录&#xff1…

linux和windows启动,Linux和Windows双系统的启动

问题Linux和Windows双系统的启动解决方案在某些特殊情况下,服务器可能要安装双系统一个linux系统,一个windows系统这种情况下,安装顺序是,先装Windows系统,后装Linux这是因为,Linux的引导程序grub具备多系统…

体积最小桌面linux,Tiny Core Linux - 体积最小的精简 Linux 操作系统发行版之一 (仅10多MB)...

Tiny Core Linux (TCL) 是一款极体积极小且高度可扩展的微型 Linux 发行版,它将一个 Linux 操作系统精简到仅有 10 多 MB 左右的大小,似乎小巧得有点让人叹为观止!要知道无论是常见的 Ubuntu、CentOS、Debian 的体积动辄就是几百MB甚至要上GB…

linux下缓存命中测试,Linux 性能优化实战(倪朋飞)---查看缓存命中情况

cachestat 提供了整个操作系统缓存的读写命中情况。cachetop 提供了每个进程的缓存命中情况。但是,cachetop 并不把直接 I/O 算进来。安装 cachestat、cachetop:$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4052245BD4284CDD$ ech…

linux suid提权原理,Linux SUID、SGID、sticky提权

S UID SGID SOID 核心就在 “S” ,S就是允许本圈子 用户有r,w,x ;例如:1、chmod sg test.txt 只允许testex.txt所在的组 员可以执行r,w,x2、chmod us test.txt2 只允许test.txt2的属主 执行r,w,x温馨提示:对SUID只需要有个了解就行了&#xf…

linux新建samba账户,ubuntu上创建账户和samba用户

系统环境:Linux ubuntu152 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64x86_64 GNU/Linux系统用户登录创建linux账户:1. sudo adduser username --home /home/username执行该命令后需要两次输入账户密码,连续回车&…

linux xorg.0.log,Red Hat无法登录,Cannot open log file /var/log/Xorg.0.log

命令截面输入ROOT帐号无效,几秒后弹出报错页面I cannot start the X server (your graphical interface ) It is likely it is not setup correctlyWould you like to view the X server output diagrose the problem?然后按YES后跳出Fatal server error:Cannot o…

c程序语言习题解答对编程有帮助吗,给C语言编程初学者的10个学习建议,助你学习事半功倍,不要错过...

对于初学者应该如何学习C语言编程开发技术,纵观中国目前整体行业来说,互联网IT行业 成为了拔尖的行业,IT互联网程序开发成了靠自己能力可以多挣一点钱,所以各个行业都在转行,其实互联网不存在饱和,只不过大…

跟世界打个招呼c语言编程,(一)helloworld

Idea下用SBT搭建Spark Helloworld没用过IDEA工具,听说跟Eclipse差不多,sbt在Idea其实就等于maven在Eclipse.Spark运行在JVM中,所以要在Idea下运行spark,就先要安装JDK 1.8 然后加入S ...菜鸟学Struts2——HelloWorld写在前面 自从工作后就过上了只有一个月记忆的生活,太健忘,很…

求一份100行左右的C语言程序,求4个C语言程序 每个100行左右 大一水平的

2008-06-30 回答//链表问题//电话薄实现:可以输入,输出,插入,删除联系人信息.#include#include#includetypedef struct student{char address[20];char name[20];char mail[7];;char phone[10];struct student *next;}LNode;void creat_list( LNode **h ) //请输入联系人信息{L…

c语言INT16与int,C中int,Uint,uint16等有什么区别以及用处

在C中,既然有了int,为什么还要有uint?特别是uint16,uint32等又有什么用?他们有什么区别?”----------------------------------------------------------------------------------------------------------…

指针使用c语言,指针的使用(C语言)

/*例8.1 通过指针变量访问整型变量*//*#include的作用是提供相关的信息(当在使用标准)*//*stdio.h:是C编译系统提供的一个文件名*//*只需要记住:在程序中用到系统提供的标准函数库中的输入输出函数时,需要在程序开头写上#include这一行*/#inc…

在c语言中优先级最低的是6,C语言中 *,<<,= ,->哪个优先级最低

满意答案nishiwodezmx推荐于 2016.03.13采纳率:46% 等级:12已帮助:6812人最高的是->(指向运算符)再到*再到>>(右移运算符)再到(赋值运算符)c语言运算符号:1级优先级 左结合() 圆括号[] 下标运算符-> 指向结构体成员运算符. 结…

队列的顺序数组c语言代码,队列-队列的顺序表示和实现

队列-队列的顺序表示和实现和顺序栈相类似,在利用顺序分配存储结构实现队列时,除了用一维数组描述队列中数据元素的存储区域之外,尚需设立两个指针front和rear分别指示“队头”和“队尾”的位置。为了在C语言中描述方便,在此我们约…

android代码打开数据库,Android打开和关闭数据库

与计算机编程中的许多事情一样,关闭SQLite数据库的时间没有单一的“正确进行”(如果您正在使用它,则通过SQLiteOpenHelper上的close(),否则对SQLiteDatabase执行close()).一个相当硬的规则是不要同时跨多个线程为同一个数据库使用多个SQLiteDatabase对象.这可能会让你遇到麻烦,…

android 链接分享到朋友圈,android 分享到微信朋友圈或微信好友

一、首先创建一个数字签名(keystore文件)这里不再讲述keystore的创建过程!二、用keystore给app签名,注意最后如下图所示图中的md5就是 申请apkid时所需的 签名,这里需要注意MD5需要将其中的“:”去掉并将其中的大写字母改为小写三…

android studio开源代码,Android Studio Set of source 代码源集

一、源集1、定义:Android Studio 按逻辑关系将每个模块的源代码和资源进行分组,这个分组叫做源集。2、main Module 源集包括其所有构建变体共用的代码和资源。这句话很关键,意思是,所有的其他构建变体,src/main是其共同…

android怎样禁用整个布局点击,Android - 自动禁用布局里的所有子控件

很久没有写博客了,今天给大家分享一个刚写好的小功能,很实用。使用场景:禁用布局里所有的子控件,让界面只能看,但不能编辑,如果一个一个控件去设置肯定是很麻烦的,于是想了个好方法。可根据需要…

android nougat和安卓7.1,Android Nougat 7.1.2 先睹为快

Android Nougat 的下一个维护版本 7.1.2 即将发布!为了让广大开发者有机会抢先尝鲜,我们从今天开始向已注册 Android Beta 计划、符合条件的设备(包括 Pixel 和 Pixel XL、Nexus 5X、Nexus Player 和 Pixel C 设备)推出公众测试版本。我们还在准备 Nexus…

android app 移植到pc,微软开发新应用把Android app“移植”到Win Phone

依据微软2010年公布在Tweet上的一份专利申请书,微软正在开发一种新服务能够在不同的手机操作系统中“移植”应用和应用数据。这是说Android,iOS应用以后可以跨平台“移植”到 Win Phone Win8系统上?因为Win Phone 著名的“应用问题”&#xf…