Linux服务器搭建笔记-007:为每位用户创建硬盘配额

一、问题说明

Ubuntu服务器在使用过程中创建的新用户,每位用户会在/home目录下生成一个属于其个人的主文件夹。如果不限制各个用户的使用空间,所有的用户都会共用/home所挂载的硬盘。在这种多用户情况下,会很快的填满/home目录,导致服务器的硬盘空间不够用。

本篇博客通过限制每位用户的硬盘空间,强制培养用户对自己目录的清理习惯。

二、/home目录下每位用户的文件夹空间限制

1. 安装硬盘配额工具

# 安装配额工具
ff@EVA-01:~$ sudo apt-get install quota

2. 编辑启动项以启用配额功能

  • 打开启动项挂载文件
# 修改启动挂载项
ff@EVA-01:~$ sudo vim /etc/fstab
  • 找到/home分区的行,并在挂载选项中添加usrquota和grpquota。例如,如果你的行看起来像这样:
UUID=xxxx-xxxx-xxxx-xxxx /home           ext4    defaults        0       2
  • 修改为:
UUID=xxxx-xxxx-xxxx-xxxx /home    ext4    defaults,usrquota,grpquota        0       2

3. 创建配额数据库和生成配额报告

  • 使用以下命令为/home分区创建配额数据库并生成初始配额报告:
# 创建配额数据
ff@EVA-01:~$ sudo quotacheck -cugm /home
ff@EVA-01:~$ sudo quotacheck -avugm

4. 编辑配额

  • 现在你可以为每个用户设置配额了。使用edquota命令为特定用户编辑配额:
# 为某个用户名文件设定配额
ff@EVA-01:~$ sudo edquota -u username
  • 这会打开nano文本编辑器,显示类似以下内容的配额设置:
Disk quotas for user username (uid 1001):Filesystem        blocks       soft       hard     inodes     soft     hard/dev/sda1           24           0          0         0        0        0
  • 在这里,你需要设置soft和hard限制为指定的KB数,soft配额是警告阈值,而hard配额是绝对限制,用户无法超过这个限制。如果你不希望使用soft配额,可以将其留空或设置为与hard配额相同的值。
  • 在这里,我以150GB限额为例,进行上述文件的修改。因为150GB=150 × \times × 1024 × \times × 1024 = 157286400KB,所以修改为:(注意单位为KB)
Disk quotas for user username (uid 1001):Filesystem        blocks       soft       hard     inodes     soft     hard/dev/sda1           24      157286400  157286400      0        0        0

然后使用ctrl+o进行保存,并按回车,然后按ctrl+x返回。

5. 重复这个过程为每个需要限制的用户设置配额。

  • 更改配额后,使用以下命令检查配额是否正确应用:
# 检查是否应用成功
ff@EVA-01:~$ sudo quota -u username
  • 并且,为了确保配额设置在整个文件系统上生效,你可以再次运行:
ff@EVA-01:~$ sudo quotacheck -avugm
  • 可以使用下面的命令查看所有的配额设置:
ff@EVA-01:~$ sudo repquota -a

(来自一名励志用“普通话”讲技术的菜狗子~)

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

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

相关文章

OGRE Pittfals Design proposal for Ogre 2.0

OGRE Pittfals & Design proposal for Ogre 2.0

小程序开发——设备属性和设备移除 API汇总

设备属性API ty.device.setDeviceProperty 设置设备属性 需引入DeviceKit,且在>1.2.6版本才可使用 请求参数 Object object 属性类型默认值必填说明deviceIdstring是deviceIdcodestring是the custom data keyvaluestring是the custom data valuecompletefunc…

Python的网络爬虫介绍与实战

Python的网络爬虫基础介绍与实战 定义流程包和函数静动态网页爬虫实战红牛分公司?二手房数据(静态网页)豆瓣读书(动态网页) 定义 网络爬虫是按照一定的规则,自动地抓取万维网(www)信…

rust引用本地crate

我们可以动态引用crate,build时从crate.io下载,但可能因无法下载导致build失败。首次正常引用三方crate,build时自动下载的crate源码,我们将其拷贝到固定目录中; build后可在RustRover中按住Ctrl键,在crat…

图解Kafka架构学习笔记(一)

本文参考尚硅谷大数据技术之Kafka。 消息队列 (1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除) 点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息…

基于Spark的气象数据处理与分析

文章目录 一、实验环境二、实验数据介绍三、数据获取1.观察数据获取方式2.数据爬取3.数据存储4.数据读取5.数据结构6.爬虫过程截图 四、数据分析1.计算各个城市过去24小时累积雨量2.计算各个城市当日平均气温3.计算各个城市当日平均湿度4.计算各个城市当日平均风速 五、数据可视…

流媒体学习之路(WebRTC)——FEC逻辑分析(6)

流媒体学习之路(WebRTC)——FEC逻辑分析(6) —— 我正在的github给大家开发一个用于做实验的项目 —— github.com/qw225967/Bifrost目标:可以让大家熟悉各类Qos能力、带宽估计能力,提供每个环节关键参数调节接口并实现一个json全…

springboot/ssm冷链物流系统Java在线物流管理系统web物流平台

springboot/ssm冷链物流系统Java在线物流管理系统web物流平台 基于springboot(可改ssm)vue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:…

ARM_基础之RAS

Reliability, Availability, and Serviceability (RAS), for A-profile architecture 源自 https://developer.arm.com/documentation/102105/latest/ 1 Introduction to RAS 1.1 Faults,Errors,and failures 三个概念的区分: • A failure is the event of devia…

保研|资讯|夏令营|3.31截止!香港城市大学市场营销学系首届学术暑期夏令营

香港城市大学市场营销学系首届学术暑期夏令营 1 项目简介 我们的博士项目致力为未来营销科学和工商管理学界培养一流学者和行业领袖。博士项目一般为期四到六年,允许本科生直接申请。课程包括实证分析模型,消费者行为研究,博弈微观模型&…

从零开始学习数据结构与算法:Python实现【第139篇—Python实现】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 从零开始学习数据结构与算法:Python实现 数据结构与算法是计算机科学中至关重要…

Redis7学习记录(1)

Redis入门概述 Redis介绍 Redis:REmote Dictionary Server(远程字典服务器) 官网:Redis 中文官网:Redis中文网 Redis的功能及应用 redis是基于内存的KV键值对内存数据库。 redis是key-value数据库(NO…

[VCTF2024纳新赛]-PWN:ezhp_code解析

查看保护 查看ida 简单来说就是创建堆块和删除堆块而已,创建堆块的函数附带有写入函数。 但这里要注意一个程序里面的特殊的地方 在我们创建堆块时,程序会先创建一个0xa0大小堆块,并且这个地方还有个特殊的check_handle函数,如果…

测试人员Bug书写规范

📋 个人简介 作者简介:大家好,我是凝小飞,软件测试领域作者支持我:点赞👍收藏⭐️留言📝 在测试人员日常工作中,关于bug的编写和定义是一个比较经常的工作,如果bug编写描…

使用Thymeleaf导出PDF,页眉插入图片与内容重叠?

CSS 打印分页功能 需求:打印 在第一页的内容被挤到第二页的时候,又想每一页页头都有相同的样式,使用页眉。 问题:第二页的内容与页眉重叠了? 查各路找出的原因:header 页眉不占空间 解决:不…

深度学习1650ti在win10安装pytorch复盘

深度学习1650ti在win10安装pytorch复盘 前言1. 安装anaconda2. 检查更新显卡驱动3. 根据pytorch选择CUDA版本4. 安装CUDA5. 安装cuDNN6. conda安装pytorch结语 前言 建议有条件的,可以在安装过程中,开启梯子。例如cuDNN安装时登录 or 注册,会…

Linux-grep命令

grep 是一个强大的文本搜索工具,可以在文件中搜索指定的字符串模式,并将包含匹配的行打印出来。下面是 grep 命令的详细用法: grep [选项] 模式 [文件...] 选项:grep 命令支持多种选项,用于控制搜索行为,常…

十 超级数据查看器   讲解稿    详情5  隐藏功能

十 超级数据查看器 讲解稿 详情5 隐藏功能 app下载地址 百度手机助手 下载地址4 ​ 讲解稿全文: 第5讲 界面的隐藏功能 设置这些功能是为了方便用户操作 首先是编辑栏。长按一可以在一栏和二栏之间做切换,这个一、二、左箭头、右箭头&#xf…

(官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell

前言 查了很多资料都不靠谱,在安装过程中遇到很多的坑,mangoDB 服务重视起不来;出现了很多难以解决的报错,现在把安装过程中遇到的问题,和如何闭坑说一下,很多时候都是准备工作不足导致的;很多方…

【Unity入门】详解Unity中的射线与射线检测

目录 前言一、射线的创建方法二、射线检测1、Raycast()Raycast()不使用射线RayRaycast()使用射线Ray 2、RaycastAll()使用射线RayRaycastAll() 不使用射线Ray 3、射线的碰撞信息 三、示例四、具体使用场景射线的调试方法1、Debug.DrawLine()2、Debug.DrawRay利用Gizmos 前言 碰…