zoukankan      html  css  js  c++  java
  • 判断用户、expect自动登录、系统启动流程、修改centos7密码实例

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

    [root@CentOS7 data]#vim user.sh

    #!/bin/bash
    id $1 &>/dev/null
    if [[ $? == 0 ]] ;then
        echo "User already exists"
    else
        useradd -d $2 $1 &> /dev/null
        echo "User  does not exist,Now create!"
    fi

    测试

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

    首先查看expect包是否安装

    [root@CentOS7 data]# rpm -qi expect

    没安装就安装一下

    [root@CentOS7 data]# yum install expect -y

    [root@CentOS7 data]# vim ssh_expect.sh

    #!/usr/bin/expect
    set ip 192.168.26.11
    set user root
    set password redhat
    set timeout 5
    spawn ssh $user@$ip
    expect {
            "yes/no" { send "yes ";exp_continue }
            "password" { send "$password " }
    }
    interact

    [root@CentOS7 data]# ./ssh_expect.sh

    现象

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

    CentOS 6 启动
    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程序,等待用户登录

    CentOS 7启动:
    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.启动时按任意键
    2.按e键进入编辑模式
    3.将光标移动到linux16开始的行,再行尾添加内核参数rd.break
    4.按ctrl+x启动
    5.查询当前挂载的跟:mount,得知当前挂载的在sysroot下
    6.由于当前根只有只读,需要重新挂载修改权限

    mount –o remount,rw /sysroot
    chroot /sysroot
    passwd root
    touch /.autorelabel
    exit
    reboot

  • 相关阅读:
    UVa 11090
    针对于取数字型的01背包与完全背包的一点想法
    T^T online judge 1372其实这题题目这么短就是为了让你AK
    AcWing 275. 传纸条
    AcWing274.移动服务
    AcWing273.分级
    第四集,我猜题意老牛逼(划掉)了
    linux环境下c++实现FILETOOLS
    FIFO算法,LRU算法,OPT算法,LFU算法的C++实现
    vscode 通过 coderunner 配置C++ 编译环境 (更新版 2019/6/7)
  • 原文地址:https://www.cnblogs.com/ftc0926/p/13428237.html
Copyright © 2011-2022 走看看