1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www
[root@VM_0_14_centos soft]# sh create_magedu.sh magedu /www
magedu
/www
id: magedu: no such user
magedu CREEATED!HOME DIRECTORY IS /www
[root@VM_0_14_centos soft]# cat create_magedu.sh
#!/bin/bash
#auther: zhs
#time: 2020/2/26
USER_NAME=$1
USER_HOME=$2
if [[ $# -lt 2 ]];then
echo "You need to input two arguments:username and directory!"
exit 1
fi
if id -u $USER_NAME > /dev/null 2>&1;then
echo "$USER_NAME ALREADY EXISTS !"
else
useradd -d $USER_HOME $USER_NAME
echo "$USER_NAME CREEATED!HOME DIRECTORY IS $USER_HOME "
fi
[root@VM_0_14_centos soft]# cat /etc/passwd |grep magedu
magedu:x:2004:2004::/www:/bin/bash
[root@VM_0_14_centos soft]# sh create_magedu.sh magedu
You need to input two arguments:username and directory!
[root@VM_0_14_centos soft]#
2、使用expect实现自动登录系统。
[root@VM_0_14_centos soft]# sh ssh_expect.sh
zhs.123456
spawn ssh zhs@172.16.0.14 df -h
zhs@172.16.0.14's password:
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 12G 35G 26% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 920M 24K 920M 1% /dev/shm
tmpfs 920M 620K 919M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
tmpfs 184M 0 184M 0% /run/user/1000
[root@VM_0_14_centos soft]# cat ssh_expect.sh
#!/bin/bash
passwd='zhs.123456'
echo $passwd
/usr/bin/expect <<-EOF
spawn ssh zhs@172.16.0.14 df -h
expect {
"*yes/no" { send "yes\r";exp_continue}
"*password" { send "$passwd\r"}
}
expect eof
EOF
[root@VM_0_14_centos soft]#
3、简述linux操作系统启动流程
参考这位大佬画的思维导图,很详细
linux启动流程
- post 加电自检,硬件信息
服务器打开电源后,post开始检查硬件是否故障,无问题则进入下一步,BIOS引导
-
bootloader加载内核
grub stage1 ,读取默认启动设备MBR 前446 字节(MBR前446),引导进去1.5阶段
grub stage1.5,加载分区文件系统,主要存放文件系统驱动
grub stage2,加载核心文件,以及驱动模块设备,进入/boot/grub/文件夹,根据配置文件grub.conf加载内核
-
内核引导
- 内核文件加载到内存并解压,/boot/vmlinuz-3.10.0-957.21.3.el7.x86_64
- initramfs-3.10.0-957.21.3.el7.x86_64.img,加载至内存并解压,获得虚拟根文件系统,此系统具有少量功能,可加载驱动模块
- 根据/boot/grub/grub.conf配置文件只读挂载根
- 切换真正根文件系统并以读写方式挂载
- 进入第一个初始化程序/sbin/init
-
系统初始化
执行init程序,并且根据/etc/inittab获取默认信息
执行/etc/rc.d/rc.sysinit初始化脚本
根据使用的运行模式,运行/etc/rc(n).d/S、K开头的服务(n为运行级别:0-6,主要运行级别为0 3 5)
执行/etc/rc.d/rc.local(最后运行的初始化脚本)脚本,里面包含自主设定的一些内容
Login 用户登录
4、破解centos7 密码。
- 单用户模式,可以无密码登陆机器,直接password修改root密码
- 光盘启动,进入救援模式,找到密码文件,将密码字段置空即将root设置为空密码,重启机器