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

❀有问题评论❀
相关推荐
NamoAmitabha1287 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No78 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌9 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
xiaoye-duck10 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_7414848111 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS11 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿11 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
做运维的阿瑞12 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲13 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz13 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试