阶段测试9

Q1 编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www
if [ "$1" == "magedu" -a "$2" == "/www" ];then
    if grep "^$1" /etc/passwd &> /dev/null;then
        echo "User $1 already."
    else
        useradd -d $2 $1
        echo $1 | passwd --stdin $1 &> /dev/null
        echo useradd $1 finished.
    fi
else
    echo "输入两个指定名称: "magedu"  "/www""
    exit 2
fi
[root@CentOS7 scripts]# bash testUseradd.sh magedu /www
useradd magedu finished.
[root@CentOS7 scripts]# cat /etc/passwd | grep magedu
magedu:x:1012:1012::/www:/bin/bash
Q2 使用expect实现自动登录系统

首先确认系统是否已经安装如下软件包

[root@CentOS7 scripts]# rpm -qa | grep expect
expect-5.45-14.el7_1.x86_64
#!/usr/bin/expect
set ip 192.168.93.7                           
set user root                                   
set password P@ssw0rd                             
set timeout 10                                  
spawn ssh $user@$ip                             
expect {                                       
"yes/no" { send "yes\n";exp_continue }          
"password" { send "$password\n" }               
}
interact                                        

最后执行脚本

Q3 简述linux操作系统启动流程
这里分为7和6的启动流程,有些许不同之处:

CentOS 6 启动
1.POST:通电自检
2.BIOS:BOIS自检,加载硬盘
3.读取MBR,进行MBR引导
4.bootloader:grub引导菜单
5.加载内核 Kernel(ramdisk)
6.启动init进程,依据inittab文件设定运行级别 (inittab用于定义默认运行级别)
7.init进程,执行rc.sysinit文件
8.分别执行/etc/init/rcS.conf、/etc/init/rc.conf、/etc/init/start-ttys.confl来调用命令执行/etc/rc#.d/文件里面定义的是各种服务的启动脚本,可以ls查看,S开头代表开机启动的服务,K开头的是关机要执行的任务。#代表数字,一个数字代表一个运行级别,共7个运行级别,这里就不多说了
9.执行/etc/rc.d/rc.local
10.执行/bin/login程序,等待用户登录

CentOS 7启动:
1.POST:通电自检
2.BIOS:BOIS自检,加载硬盘
3.读取MBR,进行MBR引导
4.bootloader:grub引导菜单
5.加载内核和inintamfs模块
6.内核开始初始化,使用systemd来代替centos6以前的init程序
7.执行initrd.target
包括挂载/etc/fstab文件中的系统,此时挂载后,就可以切换到根目录了
8.从initramfs根文件系统切换到磁盘根目录centos7表面是有“运行级别”这个概念,实际上是为了兼容以前的系统,每个所谓的“运行级别”都有对应的软连接指向,默认的启动级别时/etc/systemd/system/default.target,根据它的指向可以找到系统要进入哪个模式
模式:0 ==> runlevel0.target, poweroff.target
1 ==> runlevel1.target, rescue.target
2 ==> runlevel2.target, multi-user.target
3 ==> runlevel3.target, multi-user.target
4 ==> runlevel4.target, multi-user.target
5 ==> runlevel5.target, graphical.target
6 ==> runlevel6.target, reboot.target
9.systemd执行sysinit.target
10.systemd启动multi-user.target下的本机与服务器服务
11.systemd执行multi-user.target下的/etc/rc.d/rc.local
12.Systemd执行multi-user.target下的getty.target及登录服务getty.target是启动终端的systemd对象。如果到此步骤,系统没有被指定启动图形桌面,到此就可以结束了,如果要启动图形界面,需要在此基础上启动桌面程序
13.systemd执行graphical需要的服务

Q4 破解centos7 密码

1.启动时按任意键

2.按e键进入编辑模式

3.将光标移动到linux16开始的行,再行尾添加内核参数rd.break

4.按ctrl+x启动

5.查询当前挂载的跟:mount,得知当前挂载的在sysroot下

6.由于当前根只有只读,需要重新挂载修改权限:

mount –o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值