Linux腳本實踐

一、編寫腳本,接受兩個位置參數,magedu和/www,判斷系統是否有magedu,若是沒有則自動建立magedu用戶,並自動設置家目錄爲/www

#!/bin/bash
if [ $# -ne 2 ]; then
    echo "You must input two args"
    exit
fi

id magedu &> /dev/null
if [ $? -ne 0 ]; then
    useradd -d $2 $1
    echo "Create user $1 successful,his home directory is $2"
else
    echo "User $1 has been exist"
fi

二、使用expect實現自動登陸系統

腳本login.exp以下linux

#/usr/bin/expect
set ip "192.168.0.12"
set user "root"
set password "oplk1234"
set timeout 30

spawn ssh $user@$ip
expect {
    "yes/no" {exp_send "yes\n"; exp_continue}
    "*password*" {send "$password\n"}
}
interact

執行腳本centos

expect login.exp

三、簡述linux操做系統啓動流程

根據init程序的不一樣,Linux不一樣發行版的啓動流程存在一些不一樣之處
CentoS6系統的init程序是Upstart,啓動流程以下:bash

  1. 開機後加載BIOS的硬件信息,獲取第一個啓動設備
  2. 讀取第一個啓動設備MBR的引導加載程序(grub)的啓動信息
  3. 加載內核,解壓縮vmlinuz文件,並嘗試驅動全部的硬件設備
  4. 內核執行init程序Upstart,進入默認的運行級別
  5. init程序執行/etc/rc.d/rc.sysinit文件,以可讀寫的方式從新掛載根文件系統
  6. 加載內核的外部模塊
  7. init啓動設置爲開啓啓動的服務
  8. init執行/etc/rc.d/rc.local文件裏的命令
  9. 執行/bin/login程序,等待用戶登陸
  10. 用戶登陸系統以後開始以Shell控制主機

CentOS7及以後的CentOS8系統的init程序是systemd,啓動流程和CentOS6不同服務器

  1. 進行UEFI或BIOS初始化,運行POST開機自檢
  2. 選擇啓動設備
  3. 引導裝載程序grub2加載裝載程序的配置文件
  4. 加載initramfs驅動模塊
  5. 加載內核選項
  6. 內核初始化,centos7使用systemd代替Upstart
  7. 執行initrd.target全部單元,包括掛載/etc/fstab
  8. 從initramfs根文件系統切換到磁盤根目錄
  9. systemd執行默認target配置,配置文件/etc/systemd/system/default.target
  10. systemd執行sysinit.target初始化系統及basic.target準備操做系統
  11. systemd啓動multi-user.target下的本機與服務器服務
  12. systemd執行multi-user.target下的/etc/rc.d/rc.local
  13. Systemd執行multi-user.target下的getty.target及登陸服務
  14. 若是系統被設置爲開機進入圖形界面,systemd還要啓動graphical.target須要的服務

四、破解centos7 密碼

方法一

一、開機後在選擇內核的界面按任意鍵打斷倒計時
二、按e鍵進入編輯模式
三、將光標移動到linux開頭的行,在這一行的末尾添加參數rd.break
四、按Ctrl + X啓動系統
五、執行`mount -o remout,rw /sysroot`命令,從新掛載系統
六、執行`chroot /sysroot`命令,切換根路徑爲系統的根目錄
七、執行`passwd root`命令,修改root密碼
八、CentOS7系統默認啓用了Selinux功能。若是沒有禁用Selinux,須要額外執行`touch /.autorelabel`命令
九、執行`exit`命令,退出登陸
十、執行`reboot`命令,重啓系統

方法二

一、開機後在選擇內核的界面按任意鍵打斷倒計時
二、按e鍵進入編輯模式
三、將光標移動到linux開頭的行,在這一行裏的「ro」修改成「rw init=/sysroot/bin/sh」
四、按Ctrl + X啓動系統
六、執行`chroot /sysroot`命令,切換根路徑爲系統的根目錄
七、執行`passwd root`命令,修改root密碼
八、若是沒有禁用Selinux,須要額外執行`touch /.autorelabel`命令
九、執行`exit`命令,退出登陸
十、執行`reboot`命令,重啓系統
相關文章
相關標籤/搜索