1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www
[root@wei ~]#vim create.sh
#!/bin/bash
read -p "please input a username: " USERNAME
read -p "please input homedir for user: " HOMEDIR
id $USERNAME &> /dev/null
if [ $? -eq 0 ];then
echo "$USERNAME already exists"
exit 10
else
useradd $USERNAME -d $HOMEDIR
echo "$USERNAME is created successfully"
fi
[root@wei ~]#bash create.sh
please input a username: wei #若用户已存在,提示并退出
please input path for user: /www
wei already exists
[root@wei ~]#bash create.sh #若不存在此用户,创建并设置家目录
please input a username: magedu
please input homedir for user: /www
magedu is created successfully
[root@wei ~]#getent passwd magedu #创建成功
magedu:x:1001:1001::/www:/bin/bash
2、使用expect实现自动登录系统
[root@localhost ~]# rpm -q expect #确保已安装expect
package expect is not installed
[root@localhost ~]# yum install expect #若没有则先安装expect
[root@localhost ~]# vim auto_ssh.exp #创建文件
#!/usr/bin/expect #引用expect执行路径
set ip [lindex $argv 0] #设置参数数组
set user [lindex $argv 1]
set password [lindex $argv 2]
spawn ssh $user@$ip #建立新的进程,这里示例为ssh连接
expect { #从新进程接收字符串
"yes/no" { send "yes\n";exp_continue } #匹配yes/no后,发送yes字符串回车,再继续下一轮匹配
"password" { send "$password\n"} #发送密码后,结束匹配
}
interact #实现连接后的交互
[root@localhost ~]# expect auto_ssh.exp 192.168.44.71 root xxxxxx #按照格式输入参数并执行
spawn ssh root@192.168.44.71
root@192.168.44.71's password:
Last login: Sun Mar 29 18:10:33 2020 from 192.168.44.79
[root@centos7 ~]# ip addr show ens33 #连接成功
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:74:7f:43 brd ff:ff:ff:ff:ff:ff
inet 192.168.44.71/24 brd 192.168.44.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::a7d0:b93:472e:47c0/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3、简述linux操作系统启动流程
centos6启动流程:
1.加载BIOS的硬件信息,获取第一个启动设备
2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息
3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
4.核心执行init程序,并获取默认的运行信息
5.init程序执行/etc/rc.d/rc.sysinit文件
6.启动核心的外挂模块
7.init执行运行的各个批处理文件(scripts)
8.init执行/etc/rc.d/rc.local
9.执行/bin/login程序,等待用户登录
10.登录之后开始以Shell控制主机
CentOS7启动流程:
1.UEFi或BIOS初始化,运行POST开机自检
2.选择启动设备
3.引导装载程序, centos7是grub2
4.加载装载程序的配置文件:
/etc/grub.d/
/etc/default/grub
/boot/grub2/grub.cfg
5.加载initramfs驱动模块
6.加载内核选项
内核初始化,centos7使用systemd代替init
1)执行initrd.target所有单元,包括挂载/etc/fstab
2)从initramfs根文件系统切换到磁盘根目录
3)systemd执行默认target配置,配置文件/etc/systemd/system/default.target
4)systemd执行sysinit.target初始化系统及basic.target准备操作系统
5)systemd启动multi-user.target下的本机与服务器服务
6)systemd执行multi-user.target下的/etc/rc.d/rc.local
7)systemd执行multi-user.target下的getty.target及登录服务
8)systemd执行graphical需要的服务
4、破解centos7 密码
破解方法一
1、启动按任意键停止继续启动
2、按e进入编辑模式
3、将光标移动linux16开始的行,添加内核参数rd.break,如下图
4、按Ctrl+x启动,如下图
5、mount –o remount,rw /sysroot
6、chroot /sysroot
7、passwd root
8、touch /.autorelabel
9、exit
10、reboot
11、输入修改后的密码,进入系统
破解方法二
主要流程同方法一
在linux16开始的行后添加rw init=/sysroot/bin/sh
启动后进入编辑界面
执行如下图命令