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用户的磁盘配额限制应该会自动更新。

❀有问题评论❀
相关推荐
程序员JerrySUN27 分钟前
Linux 内核核心知识热点题分析:10 个连环打通的难点
linux·运维·服务器
R_.L1 小时前
Linux : 线程【同步与互斥】
linux
再睡一夏就好1 小时前
从硬件角度理解“Linux下一切皆文件“,详解用户级缓冲区
linux·服务器·c语言·开发语言·学习笔记
honey ball6 小时前
R & S的EMI接收机面板
linux·运维·网络
柳如烟@9 小时前
在Rocky Linux 9.5上部署MongoDB 8.0.9:从安装到认证的完整指南
linux·运维·mongodb
QQ2740287569 小时前
Kite AI 自动机器人部署教程
linux·运维·服务器·人工智能·机器人·web3
.小墨迹10 小时前
Apollo学习——planning模块(3)之planning_base
linux·开发语言·c++·学习·自动驾驶
影龙帝皖10 小时前
Linux服务之lvs+keepalived nginx+keepalived负载均衡实例解析
linux·nginx·lvs
八月的雨季 最後的冰吻11 小时前
SIP协议栈--osip源码梳理
linux·服务器·网络·c++·网络协议
敖云岚12 小时前
【Linux】基于虚拟机实现网络的管理
linux·服务器·网络