1、編寫腳本,接受兩個位置參數,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
2、使用expect實現自動登錄系統
腳本login.exp如下
#/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
執行腳本
expect login.exp
3、簡述linux操作系統啓動流程
根據init程序的不同,Linux不同發行版的啓動流程存在一些不同之處
CentoS6系統的init程序是Upstart,啓動流程如下:
- 開機後加載BIOS的硬件信息,獲取第一個啓動設備
- 讀取第一個啓動設備MBR的引導加載程序(grub)的啓動信息
- 加載內核,解壓縮vmlinuz文件,並嘗試驅動所有的硬件設備
- 內核執行init程序Upstart,進入默認的運行級別
- init程序執行/etc/rc.d/rc.sysinit文件,以可讀寫的方式重新掛載根文件系統
- 加載內核的外部模塊
- init啓動設置爲開啓啓動的服務
- init執行/etc/rc.d/rc.local文件裏的命令
- 執行/bin/login程序,等待用戶登錄
- 用戶登錄系統之後開始以Shell控制主機
CentOS7及之後的CentOS8系統的init程序是systemd,啓動流程和CentOS6不一樣
- 進行UEFI或BIOS初始化,運行POST開機自檢
- 選擇啓動設備
- 引導裝載程序grub2加載裝載程序的配置文件
- 加載initramfs驅動模塊
- 加載內核選項
- 內核初始化,centos7使用systemd代替Upstart
- 執行initrd.target所有單元,包括掛載/etc/fstab
- 從initramfs根文件系統切換到磁盤根目錄
- systemd執行默認target配置,配置文件/etc/systemd/system/default.target
- systemd執行sysinit.target初始化系統及basic.target準備操作系統
- systemd啓動multi-user.target下的本機與服務器服務
- systemd執行multi-user.target下的/etc/rc.d/rc.local
- Systemd執行multi-user.target下的getty.target及登錄服務
- 如果系統被設置爲開機進入圖形界面,systemd還要啓動graphical.target需要的服務
4、破解centos7 密碼
方法一
1、開機後在選擇內核的界面按任意鍵打斷倒計時
2、按e鍵進入編輯模式
3、將光標移動到linux開頭的行,在這一行的末尾添加參數rd.break
4、按Ctrl + X啓動系統
5、執行`mount -o remout,rw /sysroot`命令,重新掛載系統
6、執行`chroot /sysroot`命令,切換根路徑爲系統的根目錄
7、執行`passwd root`命令,修改root密碼
8、CentOS7系統默認啓用了Selinux功能。如果沒有禁用Selinux,需要額外執行`touch /.autorelabel`命令
9、執行`exit`命令,退出登錄
10、執行`reboot`命令,重啓系統
方法二
1、開機後在選擇內核的界面按任意鍵打斷倒計時
2、按e鍵進入編輯模式
3、將光標移動到linux開頭的行,在這一行裏的“ro”修改爲“rw init=/sysroot/bin/sh”
4、按Ctrl + X啓動系統
6、執行`chroot /sysroot`命令,切換根路徑爲系統的根目錄
7、執行`passwd root`命令,修改root密碼
8、如果沒有禁用Selinux,需要額外執行`touch /.autorelabel`命令
9、執行`exit`命令,退出登錄
10、執行`reboot`命令,重啓系統