linux作业9

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

[root@localhost data]# cat user.sh 
#!/bin/bash

id $1 >& /dev/null

if [ $? -eq 0 ];
then
    echo "$1 user is already exists"
else
    useradd $1 -d $2 >& /dev/null
    echo "add $1 !"
fi
[root@localhost data]# sh user.sh magedu /www
magedu user is already exists
[root@localhost data]# 

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

[root@localhost data]# expect  expect_login.sh 192.168.80.10 root centos
spawn ssh [email protected]
[email protected]'s password: 
Last login: Tue Feb 18 07:16:42 2020 from 192.168.80.10
[root@localhost ~]# logout
Connection to 192.168.80.10 closed.
[root@localhost data]# cat expect_login.sh 
#!/usr/bin/expect


set ip [ lindex $argv 0 ]
set user [ lindex $argv 1 ]
set password [ lindex $argv 2 ]
 
spawn ssh $user@$ip

 expect {
    "yes/no" { send "yes\n";exp_continue }
     "password" { send "$password\n" }
  }
 interact
[root@localhost data]# 

3、简述linux操作系统启动流程



Centos7:
1.按下电源电脑加电,cpu执行rom里面的程序,即UEFi或BIOS初始化,POST开机自检
2.扫描启动设备,通常是硬盘启动,找到硬盘的第一个扇区即mbr扇区,里面有grub2第一阶段,分区表,标记位
3.第一阶段程序根据1.5阶段的驱动,进而找到并识别2阶段的分区,即boot分区

4.找到boot分区后,执行boot分区里grub2第二阶段,即内核引导加载器,加载内核、initramfs模块,内核自解压并初始化,借助initramfs里面的驱动进而识别根分区,以只读方式挂载根分区;
5.挂载根分区后,执行systemd程序,进行用户空间的初始化,
6.systemd执行默认target配置,配置文件/etc/systemd/system/default.target

7.根据配置的默认运行级别,加载对应的应用程序
8.systemd执行multi-user.target下的getty.target及登录服务,等待用户登陆



CentOS6:
1.按下电源电脑加电,cpu执行rom里面的程序,即UEFi或BIOS初始化,POST开机自检
2.扫描启动设备,通常是硬盘启动,找到硬盘的第一个扇区即mbr扇区,里面有grub2第一阶段,分区表,标记位
3.第一阶段程序根据1.5阶段的驱动,进而找到并识别2阶段的分区,即boot分区

4.找到boot分区后,执行boot分区里grub2第二阶段,即内核引导加载器,加载内核、initramd 模块,内核自解压并初始化,借助initramd里面的驱动进而识别根分区,以只读方式挂载根分区;
5.挂载根后,核心执行init程序,并获取默认的运行信息
5.init程序执行/etc/rc.d/rc.sysinit文件,进行一系列初始化操作
6.根据配置运行不同运行级别的应用程序,
7.执行getty程序,bin/login程序,生成若干终端,等待用户登录


4、破解centos7 密码。

1.重启服务器,ctrl alt delete 组合键,
2.按下e键,进入内核编辑界面,找到linux16开头的一行,在行尾,输入init=/bin/sh,然后ctrl x键启动
3,得到一个shell ,先以读写方式重新挂载根分区,否则默认只读方式挂载的根,无法进行写操作,所以会无法更改密码
4,mount -o rw,remount /
5,passwd root 
6,exit
7,用新密码登陆即可

你可能感兴趣的:(linux作业9)