小试牛刀(6)

1、编写脚本,接受二个位置参数,用户名和/www,判断系统是否有用户名,如果没有则自动创建用户名用户,并自动设置家目录为/www

#!/bin/bash

# 判断是否传入两个参数
[ $# -ne 2 ] && echo $# && exit 1

# 判断是否用户存在
if ! `id $1 &> /dev/null`;then
    useradd -d /www $1
else
    echo "user: $1 is existed!"
fi  

2、使用expect实现自动登录系统。

 #!/usr/bin/expect
  set timeout 30
  spawn ssh -l username 192.168.1.1
  expect "password:"
  send "ispass\r"
  interact

3、简述linux操作系统启动流程  

 centos6 

1.POST:通电自检
2.BIOS:BOIS自检,加载硬盘
3.读取MBR,进行MBR引导
4.bootloader:grub引导菜单
5.加载内核 Kernel(ramdisk)
6.启动init进程,依据inittab文件设定运行级别 (inittab用于定义默认运行级别)
7.init进程,执行rc.sysinit文件
8.分别执行/etc/init/rcS.conf、/etc/init/rc.conf、/etc/init/start-ttys.confl来调用命令执行/etc/rc#.d/文件里面定义的是各种服务的启动脚本,可以ls查看,S开头代表开机启动的服务,K开头的是关机要执行的任务。#代表数字,一个数字代表一个运行级别,共7个运行级别
9.执行/etc/rc.d/rc.local
10.执行/bin/login程序,等待用户登录

centos7

1.POST:通电自检
2.BIOS:BOIS自检,加载硬盘
3.读取MBR,进行MBR引导
4.bootloader:grub引导菜单
5.加载内核和inintamfs模块
6.内核开始初始化,使用systemd来代替centos6以前的init程序
7.执行initrd.target
包括挂载/etc/fstab文件中的系统,此时挂载后,就可以切换到根目录了
8.从initramfs根文件系统切换到磁盘根目录centos7表面是有“运行级别”这个概念,实际上是为了兼容以前的系统,每个所谓的“运行级别”都有对应的软连接指向,默认的启动级别时/etc/systemd/system/default.target,根据它的指向可以找到系统要进入哪个模式
模式:0 ==> runlevel0.target, poweroff.target
1 ==> runlevel1.target, rescue.target
2 ==> runlevel2.target, multi-user.target
3 ==> runlevel3.target, multi-user.target
4 ==> runlevel4.target, multi-user.target
5 ==> runlevel5.target, graphical.target
6 ==> runlevel6.target, reboot.target
9.systemd执行sysinit.target
10.systemd启动multi-user.target下的本机与服务器服务
11.systemd执行multi-user.target下的/etc/rc.d/rc.local
12.Systemd执行multi-user.target下的getty.target及登录服务
getty.target是启动终端的systemd对象。如果到此步骤,系统没有被指定启动图形桌面,到此就可以结束了,如果要启动图形界面,需要在此基础上启动桌面程序
13.systemd执行graphical需要的服务

 

4、破解centos7 密码

1. 在启动界面选择 centos linux, with linux***.x86_64
2. 按 e 键进入编辑模式
3. 将光标移动到 linux 16 开头的行,找到 ro 改为 rw init=sysroot/bin/sh
4. 修改完成后按 ctrl+x 开始执行
5. 进入后输入 chroot /sysroot 回车
6. 输入 passwd 回车
7. 根据提示输入两次你所需的密码
8. 完成后输入 touch /.autorelabel 回车
9. 输入 exit 回车
10. reboot 重启 过程慢,要耐心等等

猜你喜欢

转载自www.cnblogs.com/qqsu007/p/11965748.html
今日推荐