2024年河北省网络建设与运维-省赛-linux磁盘配额限制服务步骤

题目:

8.磁盘配额限制服务 任务描述:请采用配额功能,管理用户存储使用。

(1) 在Linux6主机上添加1块20G硬盘,硬盘文件为linux6_1.qcow2,保存在根用户家目录,并格式化为ext4文件系统,并开机自动挂载到/data/quota目录下。

(2) 在linux6 上创建 qu01-qu03 等3个用户,用户密码与用户名相同。

(3) 在/data/quota的存储配额:root用户硬限制10G,qu01、qu02都配置软限制600MB、硬限制1000MB。

(4) 当用户qu01在linux6登录时,系统自动显示当前用户磁盘配额使用情况。

(5) 实现自动化的配额管理,每天0点0分自动用户qu03的配额限制设置为软限制600M、硬限制1000M。

步骤:

第一步添加硬盘并挂载

1.在Linux6主机上添加1块20G硬盘,硬盘文件为linux6_1.qcow2,保存在根用户家目录。

假设根用户家目录为/root

qemu-img create -f qcow2 /root/linux6_1.qcow2 20G

2.格式化硬盘为ext4文件系统并挂载到/data/quota目录下,并设置开机自动挂载。

格式化硬盘为ext4文件系统

mkfs.ext4 /root/linux6_1.qcow2

创建挂载点

mkdir -p /data/quota

挂载硬盘到挂载点

mount /root/linux6_1.qcow2 /data/quota

设置开机自动挂载,编辑 /etc/fstab 文件

echo "/root/linux6_1.qcow2 /data/quota ext4 defaults 0 0" >> /etc/fstab

第二步创建用户和配额

1.建三个用户:qu01、qu02、qu03,并设置密码。

创建用户并设置密码

useradd qu01

passwd qu01

useradd qu02

passwd qu02

useradd qu03

passwd qu03

2.安装磁盘配额管理工具并配置配额

安装配额管理工具

yum install quota -y

启用磁盘配额

mount -o remount,usrquota /data/quota

设置根用户的硬限制为10G

quotatool -u root -b -l 10G /data/quota

设置qu01和qu02的软限制和硬限制

quotatool -u qu01 -b -l 600M /data/quota

quotatool -u qu01 -B -l 1000M /data/quota

quotatool -u qu02 -b -l 600M /data/quota

quotatool -u qu02 -B -l 1000M /data/quota

第三步显示用户磁盘配额使用情况

编辑用户的 .bashrc 文件,添加以下内容:

if [ -x /usr/bin/quota ]; then

echo "Disk quotas for user $(whoami):" ; quota -s

fi

第四步自动化配额管理

1.创建每天 0 点执行的任务:

crontab -e

2.在 crontab 中添加以下行:

0 0 * * * quotatool -u qu03 -b -l 600M /data/quota && quotatool -u qu03 -B -l 1000M /data/quota

测试步骤:
  1. 登录Linux6主机,以qu01用户身份尝试创建大于600MB的文件。
  2. 登录Linux6主机,以qu02用户身份尝试创建大于600MB的文件。
  3. 登录Linux6主机,以qu03用户身份尝试创建大于600MB的文件。
  4. 查看每个用户的磁盘配额使用情况。
  5. 等待到达每天0点,查看qu03用户的磁盘配额限制是否自动更新。
结果:
  1. qu01用户创建大于600MB的文件应该会失败,因为已达到软限制。
  2. qu02用户创建大于600MB的文件应该会失败,因为已达到软限制。
  3. qu03用户创建大于600MB的文件应该会失败,因为已达到软限制。
  4. 每个用户的磁盘配额使用情况应该可以通过登录时显示。
  5. 在每天0点,qu03用户的磁盘配额限制应该会自动更新。

❀有问题评论❀
相关推荐
椰子今天很可爱32 分钟前
五种I/O模型与多路转接
linux·c语言·c++
Lueeee.1 小时前
Linux kernel Makefile 语法
linux
爱吃山竹的大肚肚3 小时前
EasyPOI 大数据导出
java·linux·windows
极地星光3 小时前
dmesg 工具的核心功能与作用
linux
福尔摩斯张4 小时前
C++核心特性精讲:从C语言痛点出发,掌握现代C++编程精髓(超详细)
java·linux·c语言·数据结构·c++·驱动开发·算法
hgz07104 小时前
Linux服务器环境部署与JMeter压测准备
linux·服务器·jmeter
ShirleyWang0125 小时前
VMware如何导入vmdk文件
linux·数据库
Lueeee.5 小时前
内核menuconfig配置实验
linux
遇见火星5 小时前
常见Systemctl语句
linux·服务器·网络·systemctl
月明长歌5 小时前
【码道初阶】【LeetCode 110】平衡二叉树:如何用一个“Magic Number”将复杂度从O(N²)降为 O(N)?
linux·算法·leetcode