第九周作业—N42-虚怀若谷
一、编写脚本,接收二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www
[root@centos7 data]# cat user.sh
#!/bin/bash user=$ [ $# -ne ] && echo "Usage: $0 user homedir" && exit if [[ $ =~ ^(\/.*) ]];then
homedir=$
else
echo "The homedir must be a directory"
exit
fi if id $user &> /dev/null ; then
echo "$user is exist"
exit
else
useradd -m -d $homedir $user
[ $? -eq ] && echo "$user create success"
fi
[root@centos7 data]# bash user.sh
Usage: user.sh user homedir
[root@centos7 data]# bash user.sh magedu www
The homedir must be a directory
[root@centos7 data]# bash user.sh magedu /www
magedu create success
二、使用expect实现自动登录系统
[root@centos7 data]# cat expect.sh
#!/bin/bash ip=$
user=$
password=$ expect << EOF
set timeout
spawn ssh $user@$ip
expect {
"yes/no" {send "yes\n";exp_continue}
"password" {send "$password\n"}
}
expect "]#" {send "ls\n"}
expect "]#" {send "exit\n"}
expect eof
EOF
[root@centos7 data]# bash expect.sh 192.168.214.27 root root
spawn ssh root@192.168.214.27
root@192.168.214.27's password:
Last login: Tue Dec :: from 192.168.214.17
[root@centos7- ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@centos7- ~]# exit
logout
Connection to 192.168.214.27 closed.
三、简述linux操作系统启动流程
1. 计算机加电自检
当给计算机通电后,其主板上的COMS芯片会执行BIOS(Basic Input and Output System)上的程序,程序会对其硬件信息去检查是否存在以及是否能够正常工作,最后初始化硬件。
2. 加载bootloader
根据启动顺序找到第一个可以启动的磁盘,加载其MBR中的BootLoader,MBR共有512个字节,前446个字节为bootloader主程序,中间64个字节为分区表,最后2个字节为硬盘有效标志(55AA),此时又分为三个阶段:
stage1: 加载Bootloader的主程序用于加载stage 1.5的代码;
stage1.5:由于stage1识别不了文件系统,也就无法加载内核,stage1_5作为stage1和stage2中间的桥梁,stage1_5有识别文件系统的能力,让statge1中的bootloader能够识别stage2所在的分区文件系统;
stage2:当stage2被载入内存执行时,它首先会去解析grub的配置文件/boot/grub/grub.conf中的Kernel的信息,然后将Kernel加载到内存中运行,当Kernel程序被检测并在加载到内存中,GRUB就将控制权交接给了Kernel程序。
3. 内核初始化
此阶段主要是探测可识别的硬件,加载硬件驱动,切换根分区(挂载rootfs),运行系统第一个进程init进程初始化系统
4. 系统初始化
此阶段主要是初始化软件运行环境,它会读取配置文件/init/inittab (centos5和6) 或者 systemd (centos7) 读取默认运行级别,然后运行该默认级别下的脚本,启停默认级别下定义的服务 (centos7采用systemd来启停服务,centos6是采用init进程来启停服务),最后登录终端。
四、破解centos7密码
1. 启动时按任意键暂停启动
2. 按 e 键进入编辑模式,将光标移至linux16开始的行,添加内核参数 rd.break
3. 按 Ctrl+x 启动,进入紧急模式
4. 以读写方式重新挂载/sysroot,mount -o remount,rw /sysroot
5. 切换根,chroot /sysroot
6. 修改root密码
7. 创建安全标签,touch /.autorelabel(SELinux需要,如已禁用,可不操作)
8. 退出根,exit ,并重启系统,reboot
第九周作业—N42-虚怀若谷的更多相关文章
- 2018-2019-1 20189221 《Linux内核原理与分析》第九周作业
2018-2019-1 20189221 <Linux内核原理与分析>第九周作业 实验八 理理解进程调度时机跟踪分析进程调度与进程切换的过程 进程调度 进度调度时机: 1.中断处理过程(包 ...
- 2017-2018-1 20179205《Linux内核原理与设计》第九周作业
<Linux内核原理与设计>第九周作业 视频学习及代码分析 一.进程调度时机与进程的切换 不同类型的进程有不同的调度需求,第一种分类:I/O-bound 会频繁的进程I/O,通常会花费很多 ...
- 2019-2020-1 20199325《Linux内核原理与分析》第九周作业
第九周作业要求: 理解Linux系统中进程调度的时机,可以在内核代码中搜索schedule()函数,看都是哪里调用了schedule(),判断我们课程内容中的总结是否准确: 使用gdb跟踪分析一个sc ...
- 2019-2020-1 20199329《Linux内核原理与分析》第九周作业
<Linux内核原理与分析>第九周作业 一.本周内容概述: 阐释linux操作系统的整体构架 理解linux系统的一般执行过程和进程调度的时机 理解linux系统的中断和进程上下文切换 二 ...
- 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业
这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...
- 2017-2018-2 1723《程序设计与数据结构》第九周作业 & 第二周结对编程 总结
作业地址 第九次作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1878 (作业界面已评分,可随时查看,如果对自己的评分有意 ...
- 20169207《Linux内核原理与分析》第九周作业
第九周的实验依旧和往常的一样,主要包括两部分.一是1.阅读学习教材「Linux内核设计与实现 (Linux Kernel Development)」第教材第13,14章.二是学习MOOC「Linux内 ...
- 201621123062《java程序设计》第九周作业总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 思维导图1:(对集合部分做了一些改动和细化) 思维导图2:(泛型) 1.2 选做:收集你认为有用的代码片段 代 ...
- 2019春第九周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 能解更多的题 参考文献与网址 C语言 ...
- 2019-2020-1 20199301《Linux内核原理与分析》第九周作业
第八章 进程的切换和系统的一般执行过程 进程的调度实际与进程的切换 ntel定义的中断类型 硬中断:就是CPU的两根引脚(可屏蔽中断和不可屏蔽中断) 软中断/异常:包括除零错误.系统调用.调试断点等在 ...
随机推荐
- tarjan缩点相关知识及代码
emmm原谅我确实是找不到不用缩点的tarjan题才会想到自学一下缩点这个东西的.. 题目没有,只能自己出数据并手动模拟... 首先看一张图(懒得画,还是看输入数据吧,劳烦自行画图..) 7 9(n个 ...
- Shell编程、part5
本节内容 1. 三剑客简介 2. sed命令详解 3. awk命令详解 文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具: | 命令 ...
- vs资源视图加载失败
原因:引用了未知的资源,通过打开时报的错可以定位然后修改
- 接口自动化--数据加密之AES
在接口测试中,会遇到加密的请求数据,例如:常用的base64加密,AES加密,在这里,简述用Python转化AES的加密方法 原理 官网链接:https://pycryptodome.readthed ...
- [百度百科]PCI-E的速度
在早期开发中,PCIe最初被称为HSI(用于高速互连),并在最终确定其PCI-SIG名称PCI Express之前,将其名称更改为3GIO(第三代I / O). 名为阿拉帕霍工作组(AWG)的技术工作 ...
- (转)HashMap底层实现原理
①HashMap的工作原理 HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象.当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算h ...
- 洛谷 U78696 图书馆馆长的考验 题解
题面 1. 图书馆馆长的考验(library) 红魔馆的拥有者蕾米莉亚的好友帕秋莉是红魔馆的大图书馆的馆长.擅长操纵五行,名言是“万物都有属性.所谓的属性,和弱点是一样的”. 一天,因为魔理沙看了神之 ...
- Head First PHP&MySQl第四章代码
addemail.php <!DOCTYPE html> <html lang="cn" dir="ltr"> <head> ...
- centos7 下网卡的配置
一般通过修改配置文件的方式去修改: 网卡配置文件位置 /etc/sysconfig/network-scripts/ifcfg-ens33 DNS配置文件位置 /etc ...
- 图数据库:AgensGraph
文章目录 AgensGraph简介 官网及下载 安装AgensGraph 上传并解压 添加agens用户 配置.bashrc 初始化并启动 初始化数据库 启动数据库 执行交互式终端 图数据库基础概念 ...