一、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www
#!/bin/bash
read -p "请输入用户名:" USERNAME
read -p "请输入用户家目录:" HOMEDIR
getent passwd $USERNAME &> /dev/null
if [ $? -eq 0 ];then
echo -e "用户${USERNAME}已存在";exit
else
useradd -d $HOMEDIR $USERNAME
echo -e "用户${USERNAME}创建成功"
fi
getent passwd $USERNAME ;exit
二、使用expect实现自动登录系统。
#!/usr/bin/expect
set ip [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
set timeout 10
spawn ssh $user@$ip
expect {
"yes/no" {send "yes\n";exp_continue}
"password" {send "$password\n"}
}
interact
三、简述linux操作系统启动流程
1.硬件启动阶段
a.打开电源,BIOS加电自检,初始化硬件设备,获取第一个启动的硬件设备
b.如果硬盘启动,读取硬盘的第一个扇区(MBR,512字节)到内存
c.执行MBR中的BootLoader,里面安装有GRUB程序的一部分
2.GRUB启动引导阶段
a.Stage1阶段,在系统启动是装载Stage2
b.Stage1.5阶段,在MBR后面的分区,能够识别启动分区文件系统,GRUB访问/boot分区grub目录下的Stage2文件,将Stage2载入内存并执行
c.Stage2阶段,解析grub的配置文件/boot分区下/grub/grub.conf,显示操作系统启动菜单,加载内核镜像到内存
3.内核引导阶段
a.调用虚拟根文件系统中的init
b.加载驱动模块初始化系统中的各设备并做相关配置
c.加载并切换真正的根文件系统(grub.conf中root=所指定的)
d.协助内核呼叫进程/sbin/init程序
4.系统初始化阶段
a./etc/inittab获取用户级别
b.执行/etc/rc.sysinit
c.加载系统服务,根据运行级别启动对应/etc/rc.d/rc*.d目录下的服务(S开头启动,K开头停止),/etc/rc.local加载用户自定义服务
5.启动终端
a.默认情况下执行/sbin/mingetty打开6个纯文本终端,通过/etc/nologin、/etc/usetty、/etc/secyretty、/etc/passwd&/etc/shadow验证用户登录;如果级别为5,则打开X-window
b.登录成功,屏幕输出最近一次登录的信息/var/log/lastlog,检查用户是否有新邮件/var/spool/mail/用户名
c.加载环境变量/etc/profile、.bash_profile、.bash_login、.profile
四、破解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
方法二:
1.启动时任意键暂停启动
2.按e键进入编辑模式
3.将光标移动linux16开始的行,改为rw init=/sysroot/bin/sh
4.按ctrl-x启动
5.chroot /sysroot
6.passwd root
7.touch /.autorelabel
8.exit
9.reboot