Linux 基础学习训练教材 - RockyLinux 9.x

测验练习一:期中考练习

做完训练之后,要看看成果,最好就是继续实做!这个实做是期中考的相关仿真题,请务必进行练习喔!

最近更新时间: 2023/03/03

已经过了 7 堂课,现在应该进入期中考旺季了!来来来!先来练习一下怎么处理期中考啰!

期中考练习

  • 作业之一 (不提供学生答案,仅提供教师参考答案)

作业硬盘一般操作说明:

  • 打开云端虚拟机前,请务必确认你打开的硬盘是『practice1』,否则就会做错题目
  • 若要使用图形界面,请务必使用 student 身份登录,若需要切换身份,再激活终端机处理。
  • 若有简答题需要使用中文,请自行以第一堂课的动作自行处理输入法安装。
  • 每部虚拟机均有独特的网卡地址,请勿使用他人硬盘上传,否则计分为 0 分。
  • 每位同学均有自己的 IP 尾数,请先向老师询问您的 IP 尾数,才可以进行作业上传。
  • 最终上传作业结果,请务必使用 root 身份上传。
  • 进入作业硬盘后,先用 root 身份运行 vbird_book_setup_ip , 运行流程请参考:vbird_book_setup_ip

作业当中,某些部份可能为简答题~若为简答题时,请将答案写入 /home/student/ans.txt 当中,并写好正确题号,方便老师订正答案。 请注意,文件名写错将无法上传!

重要注意事项:

  • 请以 student 登录系统后,切换身份为 root 以进行底下的所有动作喔。
  • 若无法开机进入正常模式,则此次考试为 0 分
  • 若无法发送成绩,此次考试亦为 0 分

开始考试的练习:

  1. 系统救援
    • 问题: 因为某些缘故,目前这个操作系统应该是无法顺利开机的。
    • 思考: 根据猜测,可能的原因与 (1)管理员曾经动过 chsh ,(2)管理员似乎也更动过 fstab 这个设置档。
    • 救援: 请依据这些之前的可能举动,来恢复系统的可登录状态。
    • 提醒注意: 千万不要忘记 .autorelabel 的动作!
    • 成功开机登录后: 顺利登录系统后,再使用 root 身份处理 vbird_book_setup_ip 的脚本设置。
  2. 管理员的操作环境整理: (底下的动作每次登录都可以生效,须修改设置档喔!)
    1. 当你用 student 转成 root 之后,会发现很奇怪的现象,就是很多指令都不能运行了。 这应该与上次登录管理员的用户处理到错误的 bash 环境设置档有关。请查找 root 可能的设置档后,将这个问题解决。
    2. 增加 histroy 的输出,让 root 自己最大可达 10000 笔纪录,且 (1)其他用户保留默认值 (2)纪录档内也要纪录 10000 笔。
    3. 创建一个命令别名 myerr 这个指令,这个指令会运作『 echo "I am error message" 』这个指令串。
    4. 当 root 运行『 cd ${mywork} 』时,工作目录会跑去 /usr/local/libexec/ 当中
  3. 文件系统的整理:
    1. 系统内有个名为 /dev/vda4 (或 /dev/sda4) 的分区,这个分区是做错的,因此,请将这个分区卸载, 然后删除分割,将磁盘容量释放出来。
    2. 完成上面的题目之后,请依据底下的说明创建好所需要的文件系统(所有的新挂载,应该使用 UUID 来挂载较佳。)
      容量文件系统挂载点挂载额外参数
      1GBXFS/mydata/xfsnosuid
      2GBVFAT/mydata/vfatuid均为student
      1GBEXT4/mydata/ext4noatime
      1GBswap--
      上述四个添加的数据都能够开机后自动的挂载或激活。
    3. 有个光盘映像档 /mycdrom.iso 的文件,请将他挂载到 /mydata/cdrom 里面,而且每次开机都能自动挂载上来。 (请自行查找光盘文件挂载时所需要的文件系统类型)
    4. 创建一个名为 /mydata.img 的 200MB 大文件,这个文件格式化为 xfs ,且开机会主动的挂载于 /mydata/xfs2/ 目录中
  4. 基础帐号管理,请依据底下的说明,创建或恢复许多帐号:
    1. 请删除系统中的 baduser 这个帐号,同时将这个帐号的家目录与邮件文件同步删除。
    2. 有个帐号 gooduser 不小心被管理员删除了,但是这个帐号的家目录与相关邮件都还存在。请参考这个帐号可能的家目录所保留的 UID 与 GID, 并尝试以该帐号原有的 UID/GID 信息来重建该帐号。而这个帐号的密码请给予 MyPassWord 的样式。
    3. 新建群组名称为: mygroup, nogroup
    4. 新建帐号名称为: myuser1, myuser2, myuser3 ,通通加入 mygroup,且密码为 MyPassWord
    5. 新建帐号名称为: nouser1, nouser2, nouser3 ,通通加入 nogroup,且密码为 MyPassWord
    6. 新建帐号名称为: ftpuser1, ftpuser2, ftpuser3,无须加入次要群组,密码为 MyPassWord,且这三个帐号主要用来作为 FTP 传输用的帐号, 因此需要不能交互的 shell。
  5. 管理群组共用数据的权限设计:
    1. 创建一个名为 /srv/myproject 的目录,这个目录可以让 mygroup 群组内的用户完整使用,且【新建的文件拥有群组】为 mygroup 。不过其他人不能有任何权限
    2. 虽然 nogroup 群组内的用户对于 /srv/myproject 应该没有任何权限,但当 nogroup 内的用户运行 /usr/local/bin/myls 时,可以产生与 ls 相同的信息,且暂时拥有 mygroup 群组的权限,因此可以查找到 /srv/myproject 目录内的文件名信息。 也就是说,当你使用 nouser1 的身分运行【myls /srv/myproject】时,应该是能够查阅到该目录内的文件名信息。
    3. 创建一个名为 /srv/change.txt 的空文件,这个文件的拥有者为 myuser1,拥有群组为 nogroup,myuser1 可读可写, nouser1 可读,其他人无权限。 这个文件所有人都不能运行。此外,这个文件的最后修改时间请调整成 2020 年 02 月 5 日的 13 点 0 分。
  6. 文件的搜索与管理:
    1. 将 /usr/sbin 与 /usr/bin 里面,只要是具有 SUID 与/或 SGID 的权限文件,就将该文件连同权限,全部拷贝到 /root/findperm 目录中。
    2. 找出系统中文件拥有者为 examuserya 的文件名,并将这些找到的文件名(含权限)拷贝到 /root/finduser/ 目录内
    3. 有个名为 /srv/mylink.txt 文件,这个文件似乎有许多的实体链接档。请将这个文件的所有实体链接档的文件名(含该文件本身),通通拷贝到 /root/findlink 目录下。
    4. 想办法创建一个文件名 /srv/mail ,当用户进入 (cd) 这个文件名时,就会被导向 /var/spool/mail 去。(考虑是 symbolic link 还是 hard linke 呢?)
    5. 在 root 家目录下,创建一个名为 -hidden 的目录(开头为减号),并将 root 家目录底下的隐藏档中,以 .b 为开头的文件, 通通拷贝到 -hidden 目录内。
    6. 在 root 家目录下,创建一个名为 mydir 的目录,在该目录底下创建 userid01, userid02... 到 userid50 的 50 个空目录
    7. 在 root 家目录下,创建一个名为 myfile 的目录,在该目录底下,创建『 file_XXX_YYY_ZZZ.txt 』的文件,其中 XXX 代表 mar, apr, may 三个字符串, YYY 代表 first,second,third 三个字符串, ZZZ 代表 paper, photo, chart 三个字符串。
    8. 在 root 家目录下有个名为 ~myuser1 的目录,请删除该目录。
  7. 文件内容的处理:
    1. 通过 date 的功能,将目前的时间以『 YYYY-MM-DD HH:MM 』的格式,使用『覆盖』的方法记载进 /root/mytext.txt 文件中。
    2. 使用一个单一指令,将 /etc/services, /etc/fstab, /etc/passwd, /etc/group 这四个文件的最后 4 行截取下来后 (所以应该会有 4*4=16 行,同时会有该文件名记载,与一些空白行),『累加』转存到 /root/mytext.txt 当中。
    3. 使用 ll 的方式,将 /etc/selinux/ 的所有文件列出(不含子目录内容),但是时间需要使用完整格式 (类似『2020-04-20 23:17:46.363000000 +0800』的格式),并将输出结果『累加』转存到 /root/mytext.txt 当中。
  8. 问答题:请将底下的问题的答案写入 /home/student/ans.txt 文件中:
    1. 当你登录系统,系统会给予一个名为 mykernel 的变量,请将这个变量的内容写下来。
    2. 格式化ext4文件系统后,主要有superblock, inode与block区块,请问这些区块主要放置哪些东西?
    3. 使用任何你知道的进程观察指令,找到名为 sleep 200h 的进程,找出他的 NI 值是多少?
    4. 在 /srv/ 底下有个隐藏档的目录存在,请列出该『目录』的完整文件名。
    5. 有一个文件名称为:/mydir/myfile(假设文件是存在的,直接思考题),若 student 用户想要修改myfile的内容,那么 student 『至少』需要具有什么权限才能够修改该文件?
    6. 有一个文件文件名为 /usr/local/etc/myhosts,请问 student 对这个文件具有什么权限?
    7. 目前你的系统上,哪两个重要的目录是(i)内存内信息与(ii)硬件信息,因此这两个目录不占硬盘空间?
  9. 完成上述所有的题目后,请重新开机,并请在开机后 5 分钟内运行上传脚本,否则系统不允许你上传喔!

作业结果传输:请以 root 的身分运行 vbird_book_check_unit 指令上传作业结果。 正常运行完毕的结果应会出现【XXXXXX_aa:bb:cc:dd:ee:ff_unitNN】字样。若需要查阅自己上传数据的时间, 请在操作系统上面使用浏览器查找: http://192.168.251.254 检查相对应的课程文件。 相关流程请参考: vbird_book_check_unit

修改历史:
  • 2023/03/01:主要是格式转为 RockyLinux 9 而已,大部分的题目都没有重大的变化喔!
  • 2023/03/03:将作业硬盘做个完整的重新处理,侦测的情况好上很多!
2023/03/03 以来统计人数
计数器
其他链接
环境工程模式篇
鸟园讨论区
鸟哥旧站

今日 人数统计
昨日 人数统计
本月 人数统计
上月 人数统计