linux腳本和啓動流程

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

#!/bin/bash
if [ $# -ne 2 ];then
    echo 本腳本運行接受兩個參數,第一個是需要創建的賬戶名,第二個是賬戶的家目錄。
else
    id $1 &>/dev/null
    if [ $? -eq 0 ];then
        echo 用戶$1已存在哦
    else
        useradd  $1 -d $2 && echo 創建成功 || echo 創建失敗
    fi  
fi

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

1、編寫腳本

[root@centos8 ~]#vim auto
#!/usr/bin/expect
set ip [lindex $argv 0]  
set user [lindex $argv 1]
set password [lindex $argv 2]
spawn ssh $user@$ip
expect {
    "yes/no" { send "yes\n";exp_continue }
    "password" { send "$password\n" }
}
interact

2、腳本加執行權限。

[root@centos8 ~]#chmod +x auto

3、執行腳本,可繼續交互執行命令。

[root@centos8 ~]#./auto 10.0.0.88 root 123456
spawn ssh [email protected]
[email protected]'s password: 
Last login: Wed Dec 16 14:31:00 2020 from 10.0.0.135
[root@centos88 ~]#ls
anaconda-ks.cfg  httpd-2.4.46.tar.gz  init.bak  init.sh  passwd  yh.sh
[root@centos88 ~]#

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

  1. UEFi或BIOS初始化,運行POST開機自檢

  2. 選擇啓動設備

  3. 引導裝載程序, centos7是grub2,加載裝載程序的配置文件:

    /etc/grub.d/

    /etc/default/grub

    /boot/grub2/grub.cfg

  4. 加載initramfs驅動模塊

  5. 加載內核選項

  6. 內核初始化,centos7使用systemd代替init

  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需要的服務

四、破解centos7 密碼。

1、啓動時任意鍵暫停啓動,按e鍵進入編輯模式。

linux腳本和啓動流程
2、將光標移動linux 開始的行,添加內核參數rd.break,然後按ctrl-x啓動。
linux腳本和啓動流程
3、輸入以下內容,按照提示輸入新密碼。


mount –o remount,rw /sysroot
chroot /sysroot
passwd root

​ 4、如果SELinux是啓用的,才需要執行下面操作,如查沒有啓動,不需要執行

touch /.autorelabel

​ 5、退出重啓就完成了重置密碼操作。

exit
reboot

linux腳本和啓動流程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章