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

❀有问题评论❀
相关推荐
2401_826097627 小时前
JavaEE-Linux环境部署
java·linux·java-ee
(:满天星:)8 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
爱莉希雅&&&8 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊8 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
渡我白衣9 小时前
Linux操作系统之文件(四):文件系统(上)
linux
ZZH1120KQ9 小时前
Linux系统安全及应用
linux·运维·系统安全
程序漫游人9 小时前
centos8.5安装jdk21详细安装教程
java·linux
小小小糖果人10 小时前
Linux云计算基础篇(5)
linux·运维·服务器
small_wh1te_coder10 小时前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c
小张是铁粉10 小时前
docker在Linux的安装遇到的问题
linux·docker·容器