Linux学习(十)

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

vim useradd.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
else
    useradd $USERNAME -d $HOMRDIR
    echo "$USERNAME is created successfully"
fi

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

rpm -q expect
yum install expect
vim auto-ssh.exp
#!/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
";exp_continue }
        "password" { send "$password
"}
}
interact

expect auto-ssh.exp 192.168.5.10 root 123456

3、简述linux操作系统启动流程 (此部分图片取自作者:苦逼运维)

centos6启动流程
  1. 接通电源;
  2. BIOS上电自检;
  3. MBR引导加载启动信息;
  4. 内核印象装载到内存中并解压;
  5. 执行init程序,并获取默认的运行信息;
  6. init进程运行;
  7. getty进程启动;
  8. shell进程启动并初始化;
  9. 命令

centos7启动流程
  1. UEFI或BIOS初始化,运行POST开机自检;
  2. 选择启动设备;
  3. 引导内核,做部分内核初始化,加载initramfs;
  4. 启动systemd进程,systemd进程此时工作在initramfs环境下;
  5. systemd执行initrd.target所以单元,包括挂载/etc/fstab、从ramdisk的虚根文件系统切换到真正的根文件系统;
  6. systemd执行默认target配置,其配置文件为/etc/system/system/default.target;
  7. systemd执行sysinit.target初始化系统及basic.target准备操作系统;
  8. systemd启动multi-user.target下的本机与服务器服务;
  9. systemd执行multi-user.target下/etc/rc.d/rc.local;
  10. systemd执行multi-user.target下的getty.target让用户登录;
  11. 启动shell进程并初始化,最终进入命令行。

4、破解centos7 密码。

(1)
  1. 在grub提供菜单的界面下,在对应菜单项按下e进入编辑模式。
  2. 通过箭头方向键移动光标至linux16这一行,然后在该行末尾加上rd.break,之后按下ctrl+x引导系统。
  3. 此时根被临时挂载在/sysroot目录下,且是只读挂载,所以先以读写方式重写挂载(mount –o remount,rw /sysroot),然后chroot切换到根环境下修改密码(chroot /sysroot ;passwd),最后创建/.autorelabel。
  4. 最后两次exit重启后即可使用新密码登录root用户。
(2)
  1. 在grub提供菜单的界面下,在对应菜单项按下e进入编辑模式。
  2. 通过箭头方向键移动光标至linux16这一行,然后在该行末尾加上rw init=/sysroot/bin/sh,之后按下ctrl+x引导系统。
  3. 引导进入后,直接chroot /sysroot ,然后修改密码passwd ,创建/.autorelabel启动。
  4. 重启后即可使用新密码登录root用户。
原文地址:https://www.cnblogs.com/shanghongbin/p/13173000.html