1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www
2、使用expect实现自动登录系统
3、简述linux操作系统启动流程
4、破解centos7 密码
1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www
vim magedu_create.sh
#!/bin/bash
USERNAME=$1
USER_DIR=$2
[[ $# -lt 2 ]] && echo "You need to input two arguments:username and directory!"
if id -u $USERNAME > /dev/null 2>&1;then
echo $USERNAME already exists!
else
useradd -d $USER_DIR $USERNAME
echo "$USERNAME created,home directory is $USER_DIR."
fi
unset USERNAME
unset USER_DIR
2、使用expect实现自动登录系统
#!/usr/bin/expect
set timeout 30
spawn ssh -l USERNAME 192.168.1.23
expect "password:"
send "PASSWORD\r"
interact
3、简述linux操作系统启动流程
1、POST加电自检
当给计算机上电,主板上的CMOS芯片获得电源,会执行其上的BIOS(基本输入输出系统Basic I/O System)程序 。BIOS程序会根据CMOS上的硬件配置信息,去检查硬件是否存在及是否能正常工作,最后进行硬件初始化。
2、加载bootloader
根据启动顺序找到第一个可以启动的磁盘,加载其MBR中的BootLoader ; BootLoader就是将内核加载至内存中、解压展开。
由于MBR只有512byte,Bootloader占用前446bytes,这么小的空间不可能放置很多的程序,所以Bootloader(grub)就分为3个阶段(stage)完成:
stage1: 加载Bootloader的主程序(位于MBR中)用于加载stage 1.5的代码;
stage1.5: 位于MBR之后的扇区,让statge1中的bootloader能够识别stage2所在的分区文件系统;
stage2:通过Bootloader加载所有的配置文件及相关参数,这些参数都位于磁盘/boot/grub中;
3、内核初始化
此时BootLoader需要将内核程序加载至内存,并进行解压,展开,控制权也移交给内核;内核需要检测硬件设备,并加载硬件驱动;但是内核程序本身也是放在硬盘的/boot分区上,这就需要先加载硬盘驱动;
此时就需要一个临时根文件系统代替一个真正的文件系统行使权力,即initrd. Bootloader会将initrd程序加载至内存,initrd会模拟出一个虚拟的根文件系统,这样就可以加载硬件驱动等启动过程中需要的程序,加载完成后,并完成根切换;然后内核运行用户空间第一个程序/sbin/init ,至此,系统将交由init进行管理;
4、init 初始化
init 主要是进行软件环境初始化,它会读取配置文件/init/inittab(cent5/6)或systemd(centos7),读取默认运行级别;运行 /etc/rc.d/rc.sysinit 进行系统初始化;关闭相应级别的需要停止的服务,启动对应级别下需要开启的服务--->设置登录终端;至此,系统启动完毕。
4、破解centos7 密码
第一步
开机第一屏,也就是启动选择项,按字母“e”键,如下图:
进入系统引导编辑模式,按向下箭头直到最后,如下图:
将“ro”改为“rw init=/sysroot/bin/sh”,取得系统读写权限。
按ctrl+x系统正常启动,进入命令模式
第二步
输入“chroot /sysroot”命令,指定系统root目录,否则相关命令无法使用。
第三步
输入passwd按回车,设置系统root用户新密码。
第四步
输入命令touch /.autorelabel,按回车,创建隐藏文件,跳过系统防火墙检测。(非常重要,否则系统无法正常启动)
第五步
按ctrl+d退出,输入reboot重新系统后(系统自动重启2次),输入新密码即可。