JYY操作系统实验L0 实验基础配置方案

搞JYY操作系统实验L0的基础配置,核心是搭好环境、搞懂目标、掌握点操作系统基本概念。
得先明白“友好手册(FLy,B)”和“友好网络(STFW)”是啥意思,说白了就是遇到问题先查官方文档和网上资源,别老指望别人口头说或书本上那点东西。

搭实验L0的基础环境主要靠Linux系统,个人觉得Ubuntu2 0版本最合適,跟实验需求搭得比较拢。
搭环境分两种情况:你要是本地有Linux系统,直接装Ubuntu2 0,跟本机Linux搞成双系统,这样操作方便多了。
你要是用的Windows系统,就装个WSL(Windows Subsystem for Linux),记得选Ubuntu2 0.04 版本,体验会好不少。
WSL服务启动后,去微软商店搜Ubuntu装上跑起来。

为了实验环境跑得稳当,还得装个SSH软件,像PuTTY啥的,能让你在本地跟WSL系统高效互动。
用WSL前,确保SSH装好了配好了。
软件装的时候,得用apt-get装实验要的基本软件包,照着实验须知里dockerfile文件的指示来执行安装命令。
你要是不想用Docker,老老实实用apt-get装也行,保证软件包跟实验环境没冲突。

代码拉取那步,用git命令把实验L0的代码框架拉到本地仓库。
为了拉代码顺当点,避免GitHub访问限制搞幺蛾子,推荐用加速器。

代码写的时候,实验L0的实现其实挺简单的,可以直接在实验手册里找代码模板,改改扩扩就行。
建议代码都弄在amgame文件夹下,用vscode编辑。
vscode有个SSH插件,连上WSL环境后,你就能直接在WSL里编辑代码还跑起来,挺无缝的。

实验过程中,编译和执行代码那步特重要。
用make命令编译代码,然后在amgame/build文件夹里执行qemu-system-x8 6 _6 4 命令启动实验环境,能让你直观感受到跑抽象计算机的效果。
要是不想折腾了,想清理环境,就执行make clear命令。

为了简化流程,你可以搞个sh文件把编译和运行整合一下,到时候只要跑shbuildrun.sh命令就行,省得手动操作那么麻烦。

最后,要是想深入理解操作系统设计与实现,推荐看看操作系统概述和实验相关文档(操作系统:设计与实现[南京大学2 02 2 操作系统-P1 ]和操作系统:设计与实现(2 02 2 春季学期)),这些资源能帮你构建更完整的操作系统知识体系。

Linux操作系统 教案

嘿,小伙伴们!今天咱们来聊聊Linux安装的入门级知识。
首先,咱们得做好前期准备,比如选择合适的Linux发行版,规划磁盘布局,然后是获取镜像文件,最后在虚拟机上完成安装。
这一章节,我们详细探讨了这些准备工作,还有安装步骤,是不是感觉有点小激动呢?
接下来,咱们得聊聊如何在已经安装了Windows系统的主机上安装Linux系统。
关键是要准备好足够的磁盘空间,制作一个可引导的U盘,然后进行磁盘分区,安装Linux,最后别忘了验证一下安装结果哦。

再来说说Linux的文字模式入门。
咱们学习了如何在图形界面和文字界面之间切换,掌握了几个重要热键的使用方法,学会了使用man命令来获取帮助,还有关机/重启命令的使用。
文字界面下的关机和重启命令可能有点复杂,但别担心,我这就来给大家详细解析一下。

最后,通过这一周的学习,咱们不仅学会了如何进入文字模式,还掌握了那些重要热键和帮助命令的使用,还有如何优雅地关机或重启系统。
怎么样,是不是觉得自己已经迈出了Linux学习的第一步呢?继续加油哦!

Linux系统管理与开发-使用SSH服务管理远程主机

Linux系统管理与开发,今天我们来聊聊怎么用SSH服务搞定远程主机的管理。
先说说这实验的来龙去脉,主要是想让你摸清楚SSH协议和OpenSSH工具是个啥玩意儿,顺便学会怎么配置SSH服务,搞搞远程传输。
得注意的点,得用默认设置,让root用户登录试试;得改改PermitRootLogin参数,不让root用户登录了,然后用root和普通用户分别试试;还得改改PasswordAuthentication参数,禁用口令验证,改用密钥验证。

咱们先聊聊SSH这东西。
SSH,全称SecureShellprotocol,是个在应用层和传输层上跑的安全协议,能让本地主机和远程服务器之间安全地传数据。
好处是传输数据安全,而且速度还能提一提。
它是这么工作的:结合了非对称加密和对称加密算法。
SSH会话建立分两个阶段,第一阶段是建个加密的连接通道,第二阶段就是用户得验证身份,可以用口令,也可以用密钥。
SSH协议一般跑在tcp2 2 端口上。
它是C/S架构,就是服务器端和客户端。
OpenSSH是个免费开源的SSH实现工具,有sshd主程序和ssh客户端,CentOS系统里一般默认就装了。
服务端配置,得看看是不是装了openssh、openssh-server、openssh-clients和openssh-askpass这些软件包。
配置文件一般在/etc/ssh/sshd_config,里面可以设置Port、Protocol、ListenAddress、LoginGraceTime、MaxAuthTries、MaxSessions这些全局参数。
Key啊什么的,一般放HostKey、AuthorizedKeysFile这些地方。
安全设置上,PermitRootLogin、StrictModes、PubkeyAuthentication、PasswordAuthentication、PermitEmptyPasswords、DenyUsers、DenyGroups这些都得注意。
客户端配置,Linux系统下,用ssh命令登录和退出,用scp命令传文件。
Windows系统下,可以用Putty、SecureCRT、SSHSecureShellClient这些工具。

实验内容呢,首先是改改PermitRootLogin参数,不让root用户登录。
得用vim编辑/etc/ssh/sshd_config文件,把PermitRootLogin改成no,保存退出,然后重启sshd服务。
接着,改改PasswordAuthentication参数,禁用口令验证。
还是用vim编辑/etc/ssh/sshd_config文件,把PasswordAuthentication改成no,保存退出,重启sshd服务。
然后,得在客户端生成密钥对,用ssh-keygen命令就行。
公钥得传到服务端,用ssh-copy-idserver_ip命令。
最后,用scp命令传文件,上传文件就是scp[-rvP]本地文件user@ip:远程目录,下载文件就是scp[-rvP]user@ip:远程文件本地目录。

实验结果呢,用默认配置,root用户登录成功了。
改了PermitRootLogin参数之后,root用户登录就失败了。
普通用户登录还是成功的。
配置了密钥验证之后,普通用户就能免密登录了。
在客户机能看到公钥id_rsa.pub和私钥id_rsa。
在服务器上也能看到客户机的公钥传过来了。

总的来说,通过这次实验,我对SSH服务的配置方法有了更深的理解,也摸清了SSH协议的远程传输机制。
学会了怎么改PermitRootLogin参数,让root用户登录或者不登录。
也学会了怎么改PasswordAuthentication参数,禁用口令验证,改用密钥验证。
还学会了怎么生成密钥对,怎么把公钥传到服务端,怎么用scp命令传文件。
这些技能,对日常的系统管理和开发工作来说,真是太有用了。

【删库不跑路】—Linux系统自杀实验 rm -rf /* 及如何抢救和预防

大家知道不,Linux系统里有个超级危险的命令叫rm-rf/,这玩意儿简直就是系统的自杀按钮!它会把根目录下的所有文件和文件夹一股脑儿地删光,系统立马就挂了,数据恢复的可能性几乎为零。
今天就来聊聊这个命令的威力、应对之策和如何防患未然吧。

一、执行效果揭秘 当rm-rf/被调用时,系统就会开始疯狂地清空根目录。
别看它说不能删除正在使用的文件,比如硬件相关的文件和boot目录里的某些文件,但其实大部分重要的东西还是会被干掉。
一般来说,像/boot、/dev、/sys这些目录会保留,因为它们的东西正在被系统使用或受到保护。

结果就是,系统几乎全面崩溃,很多常用的命令都不能用了,比如ls、yum、pwd等,因为它们的家目录/bin被删掉了。
只有少数命令,比如cd,因为它们藏在/usr/bin,所以还能苟活。

二、抢救行动指南 1 . 立即中断:一旦发现误触了这个命令,立刻按Ctrl+C停止它,尽量保住那些还没被删除的系统文件。
2 . 稳住别动:如果你不知道哪些文件被删了,千万别重启系统,否则你可能连系统都进不了。
3 . 迁移文件夹:如果命令已经删除了存放命令的文件夹,比如/bin和/sbin,可以从其他服务器上把备份的这些文件夹复制过来。

三、预防措施 1 . 谨慎使用rm:写命令的时候,一定要瞪大眼睛,别让误操作把你自己的系统搞挂。
2 . 定时快照:定期做系统快照,比如每天凌晨2 点自动备份,或者在大更新后也来一份,这样万一出了岔子,就能快速恢复。
3 . 命令改写:可以把rm命令改头换面,加入回收站机制,这样即使误删了文件,也能把它挪到回收站里,而不是直接抹掉。

总之,rm-rf/这招太狠了,咱们得小心翼翼,万一出了问题,也得有应对之道。
记得备份,记得谨慎,别让这个命令成为你的噩梦!

【删库不跑路】—Linux系统自杀实验 rm -rf /* 及如何抢救和预防

Linux系统里那个"rm -rf /"的命令,简直就是个"自杀命令",搞不好就数据全丢系统也跟着崩溃。
要试的话也只能在废弃的虚拟机里弄,别在正式环境瞎搞。
我之前就在废弃虚拟机上试过,结果跟预想的一样吓人——命令一旦运行,立马就开始从根目录往死里删文件,启动路径、硬件文件、系统文件夹、常用命令,甚至连系统快照都不放过。
那场面,简直跟系统在自毁一样。
执行完这个命令,系统直接就启动不起来了。

为了避免这种惨剧发生,或者出了问题能补救,我总结了几个招数: 1 . 要是发现手滑执行了这个命令,赶紧按Ctrl+C打断,能少删点是一点。
2 . 误删后千万别急着重启系统,那样可能让数据彻底没法恢复了。
3 . 平时得把重要文件夹像/bin和/sbin这样的备份起来,万一出事还能从别处恢复。
4 . 定期搞点系统快照,关键时刻能回到之前的状态。
5 . 要不干脆把rm -rf命令改改,加个类似回收站的功能,让文件删除前先去回收站停留一下。

说到底啊,对付这种危险操作,就是得多留个心眼,再加上做好备份,这样才能避免最后变成"数据哭坟匠"。