第九周-系统启动过程、破解centos7root口令

1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www

[root@centos6 ~]# vim /data/user_check.sh 
#!/bin/bash
[ -z "$*" ] && { echo -e "Usage: `basename $0` username direcotry";exit 1; }
if getent passwd $1 >/dev/null ;then
	echo "User $1 is exists"
else
	useradd -d $2 $1 >/dev/null
	echo "User $1 is created"
fi

[root@centos6 data]# chmod +x user_check.sh
[root@centos6 data]# sh user_check.sh magedu /www
User magedu is created
[root@centos6 data]# id magedu
uid=500(magedu) gid=500(magedu) groups=500(magedu)
[root@centos6 data]# ll -d /www
drwx------. 2 magedu magedu 4096 Mar  9 22:08 /www

2、使用expect实现自动登录系统。

[root@centos6 data]# vim autologin.sh 
#!/bin/bash
IP=$1
USER=$2
PASSWD=$3
[ -z "$*" ] && { echo "Usage:`basename $0` ip username password" ; exit 1; }
expect<<EOF
set timeout 30
spawn ssh $USER@$IP
expect {
	"yes/no" { send "yes\n";exp_continue }
	"password" { send "$PASSWD\n" }
}
expect eof
EOF

测试:

[root@centos6 data]# sh autologin.sh 192.168.100.7 test 123456
spawn ssh test@192.168.100.7
The authenticity of host '192.168.100.7 (192.168.100.7)' can't be established.
RSA key fingerprint is 95:90:9c:a2:27:f1:af:10:e2:ce:8d:7d:ec:66:70:e0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.7' (RSA) to the list of known hosts.
test@192.168.100.7's password: 
Last login: Fri Apr 17 22:00:04 2020
[test@centos7 ~]$ 

3、简述linux操作系统启动流程
BIOS启动引导阶段:运行POST代码,初始化硬件设备,检查系统外围设备,从MBR中装载Bootlader,Bootlader中装有部分GRUB程序,控制权交给GRUB

GRUB启动引导阶段:装载stage1、stage1_5、stage2。因为MBR空间有限,所以最小化安装Bootlader,既stage1。
stage1作用是为了定位stage2
stage1_5是连接stage1和stage2的桥梁
stage2能够解析/boot/grub/grub.cfg文件,提供交互式GRUB启动菜单。之后GRUB会装载内核镜像到内存,并通过/boot/initrd创建虚拟文件系统,控制权交给内核

内核引导阶段:调用initrd系统中的init,加载驱动模块,加载并切换真正的根文件系统,协助内核启动进程/sbin/init程序,控制权交给/sbin/init
系统初始化阶段:/sbin/init 执行/etc/rc.d/rc.sysinit初始化系统环境,再通过/etc/inittab获取用户级别,再根据用户进别进入对应的/etc/rc.d/rcX.d目录中运行相应的服务内容,最后再启动/etc/rc.local中的内容

启动终端阶段:如果用户运行级别是5,则启动图形化登陆界面,否则执行/sbin/mingetty启动纯文本终端

4、破解centos7 密码
实验步骤:
方法一:添加内核参数rd.break
1>启动过程按e编辑启动菜单:在linux 16后添加内核参数 rd.break , 按ctrl+x 启动引导
编辑启动菜单
添加内核参数rd.break
2>读写方式挂载根目录:

switch-root: mount -o remount,rw /sysroot

3>切根目录:

switch-root: chroot /sysroot

4>passwd 修改root密码

sh-4.2# passwd root

或者

sh-4.2# echo "123456" |passwd --stdin root

5>touch /.autorelabel --如果启动了selinux,这个文件一定要创建,否则无法正常启动

sh-4.2# touch /.autorelabel

6>同步后退出重启

sh-4.2# sync
sh-4.2# exit
switch-root: reboot

在这里插入图片描述
方法二:init=/bin/bash
1>启动过程按e编辑内核,在linux16后添加 rw init=/sysroot/bin/sh , 按ctrl+x 引导系统
编辑启动菜单
添加内核参数
2>切根

:/# chroot /sysroot

3>修改密码

:/# passwd root

或者

:/# echo "123456" | passwd --stdin root

4>创建/.autorelabel文件

:/# touch /.autorelabel

5>退出重启

:/# exit
:/# reboot

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值