1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www
-->首先建立脚本;vim /data/user.sh
;判断id是否为true,结果为0则已经建立;
2、使用expect实现自动登录系统。
-->rpm -ql expect 确认是否安装expect,yum -y install expect
-->编写脚本;vim /data/expect2
-->增加执行权限;chmod +x /data/expect2
-->登录;./expect2
登录成功。
3、简述linux操作系统启动流程
-->具体流程如下;
1)按下POST电源键,开机自检BIOS检查相对应的硬件设备(cpu,硬盘,内存条等)
2)设备硬件通过检查后,然后由MBR进行主引导,也就是Bootloader。
3)MBR结束后进行安装系统的grub,来引导系统内核及驱动镜像,centos7中安装的是grub2和centos6的grub作用一致,只不过文件名不同而已。 grub是bootloader中的一种,就grub来说,为了打破在MBR中只有446Bytes用于存放bootloader这一限制,所以这一步的实现是这样的:grub是通过分成三个阶段来实现加载内核这一功能的,这三个阶段分别是:stage1, stage1.5以及stage2。其中:
--1:stage1-存放于MBR的前446Bytes,用于加载stage1.5阶段,目的是为了识别并驱动/boot所在分区的文件系统;
--2:stage1.5-存放于MBR之后的扇区;
--3:stage2-存放于磁盘分区之上,具体存放于/boot/grub目录之下,主要用于加载内核文件(vmlinuz-VERSION-RELEASE)以及临时根文件系统(initrd-VERSION-RELEASE.img或initramfs-VERSION-RELEASE.img)。
4)grub安装成功后,开始交给内核kernel进行系统的部署,调用grub中安装的内核及镜像文件,通过grub.config文件进行切根部署。
--1:获取/etc/inittab中系统的用户级别
--2:通过/etc/rc.sysinit,进行初始化服务部署;
--3:加载系统服务,包括用户自定的服务
注;CentOS 6来说,初始化程序init是upstart,其配置文件为:/etc/inittab, /etc/init/.conf就是upstart将配置文件拆分成多个,在/etc/init/目录下以conf结尾的都是upstart风格的配置文件,而/etc/inittab仅用于设置默认运行级别;
CentOS 7来说,初始化程序init是systemd,其配置文件为:/usr/lib/system/systemd/, /etc/systemd/system/;
5)启动终端,验证密码账号登录。
4、破解centos7 密码;
-->方法1;开机启动按任意键,停在选择内核的界面。
按e进入;找到linux16行,在行尾输入rd.break,按ctrl+x进入;
查看mount信息,此时为虚拟根目录;只有读的权限,需要改密码好要有写的权限;
重新挂载真实根目录路径,并添加rw权限;并切根
提示密码修改成功,退出并重启;
-->方法2;
开机启动按任意键,停在选择内核的界面。
按e进入;找到linux16行,在行尾输入rw init=/sysroot/bin/sh,按ctrl+x进入;
查看mount信息,此时读写权限都有,可以直接更改密码,并保存退出重启;
提示密码修改成功;
注;防止有人破解密码,可以在CTL下输入以下代码;grub2-setpassword
设置成功后,会在/boot/grub2/下生成一个user.cfg文件。