第九周作业
一、编写脚本,接收二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www
[root@centos7 data]# cat user.sh
#!/bin/bashuser=$1[ $# -ne 2 ] && echo "Usage: $0 user homedir" && exit 1if [[ $2 =~ ^(\/.*) ]];
then
homedir=$2
else
echo "The homedir must be a directory"
exit 2
fiif id $user&> /dev/null ;
then
echo "$user is exist"
exit 3
else
useradd -m -d $homedir $user
[ $? -eq 0 ] && echo "$user create success"
fi
测试脚本
[root@centos7 data]# bash user.sh二、使用expect实现自动登录系统
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
[root@centos7 data]# cat expect.sh
#!/bin/baship=$1
user=$2
password=$3expect << EOF
set timeout 20
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三、简述linux操作系统启动流程
spawn ssh root@192.168.214.27
root@192.168.214.27's password:
Last login: Tue Dec 24 10:42:01 2019 from 192.168.214.17
[root@centos7-27 ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@centos7-27 ~]# exit
logout
Connection to 192.168.214.27 closed.
- 计算机加电自检
- 加载bootloader
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程序。
- 内核初始化
- 系统初始化
【第九周作业】四、破解centos7密码
- 启动时按任意键暂停启动
文章图片
image.png - 按 e 键进入编辑模式,将光标移至linux16开始的行,添加内核参数 rd.break
文章图片
image.png - 按 ctrl + x 启动,进入紧急模式
文章图片
image.png - 以读写方式重新挂载/sysroot, mount -o remount,rw /sysroot
switch_root:/# mount -o remount,rw /sysroot
- 切换根 chroot /sysroot
switch_root:/# chroot /sysroot
- 修改 root 密码
文章图片
image.png - 创建安全标签,touch /.autorelable (SELINUX 需要,如已经用。可不操作)
sh-4.2# touch /.autorelable
- 推出根, exit ,并重启系统,reboot
文章图片
image.png