一.前言
今天,又要使用我的大学技能—写实验报告。linux操作系统课程实验课到了尾声,这是最后一次linux操作系统实验报告,我喜极而泣。
行了,废话不多说,我直接开始肝!!本实验是基于基于头歌实践教学平台的,也就是老师创建的平台,我们学生自己做,然后测试。大家看看shell脚本就行,估计模拟不出来。
二.内容
1)测评创建新用户t1
创建新用户t1,平台测评新用户是否已经创建成功。编辑学员任务文件code.sh和测评代码evaluating.sh(备注:路径请小组自行指定,代码名称不一定完全一致)
学员输入:useradd t1
测试:如果用户创建用户t1成功,输出“创建用户t1成功”。否则输出“创建用户t1失败”。
2)测评以t1用户身份登录。
学员输入:su -c whoami t1
测试:如果用户以t1用户身份登录成功,输出“t1用户登录成功”。否则输出“t1用户登录失败”。
3)测评文件夹创建和文件创建
学员输入:
useradd oldUser
touch oldFile
mkdir oldDir1 oldDir2
touch oldDir2/oldFile2
测试:如果是正确,则通过,否则不通过。
三.实现效果图
1)测评创建新用户t1
点击测评,成功后:
2)测评以t1用户身份登录。
点击测评,成功后:
3)测评文件夹创建和文件创建
点击测评,成功后:
四.代码
1)测评创建新用户t1
用户文件code1.sh
#!/bin/bash
#在以下部分写出完成任务的命令
#***********begin*************#
#************end**************#
测评文件evaluating1.sh
#!/bin/bash
sh code.sh 2> result.txt 2> /dev/null
#执行code.sh,如果有误,则错误重定向到result.tXt文件
testNewName=`tail -n 1 /etc/passwd | cut -d ":" -f 1`
testPwd=`cat result.txt`
if [ $testNewName = "t1" ]; then
echo "创建t1用户成功"
else
echo "创建用户t1失败"
fi
userdel -r t1 2> /dev/null
2)测评以t1用户身份登录。
用户文件code2.sh
#!/bin/bash
#在以下部分写出完成任务的命令
#***********begin*************#
#************end**************#
测评文件evaluating2.sh
#!/bin/bash
sh code2.sh 2> /dev/null 2> result.txt
#执行code.sh,如果有误,则错误重定向到result.tXt文件
testWhoami=`cat result.txt`
if [ $testWhoami = "t1" ]; then
echo "t1用户登录成功"
else
echo "t1用户登录成功失败"
fi
userdel -r t1 2> /dev/null
3)测评文件夹创建和文件创建
用户文件code3.sh
#!/bin/bash
#在以下部分写出完成任务的命令
#***********begin*************#
#************end**************#
测评文件evaluating3.sh
#!/bin/bash
useradd oldUser
touch oldFile
mkdir oldDir1 oldDir2
touch oldDir2/oldFile2
sh code3.sh 2> result.txt 2> /dev/null
#执行code.sh,如果有误,则错误重定向到result.tXt文件
oldFile=`ls -l | grep oldFile | cut -d " " -f 3`
oldDir1=`ls -l | grep oldDir1 | cut -d " " -f 3`
oldDir2=`ls -l | grep oldDir2 | cut -d " " -f 3`
oldFile2=`ls -l oldDir2/oldFile2 | cut -d " " -f 3`
if [ $oldFile = oldUser ]; then
echo "设置oldFile文件所有者成功"
if [ $oldDir1 = oldUser ]; then
echo "设置oldDir1目录所有者成功"
if [ $oldFile2 = oldUser ]; then
echo "设置oldDir2目录所有者成功"
else
echo "设置oldDir2目录所有者失败"
fi
else
echo "设置oldDir1目录所有者失败"
fi
else
echo "设置oldFile文件所有者失败"
fi
userdel oldUser
rm -rf oldDir*
rm -fr oldFile