1、跳過密碼驗證
很簡單,只需把 /etc/passwd 中的 root:x:0:0:root:/root:/bin/bash,改為 root::0:0:root:/root:/bin/bash,就可以了,就是去掉了里面的 x,這樣 root 用戶就不用密碼了,其他用戶也一樣。
2、跳過輸入用戶名
(1) 修改/etc/inittab
在inittab中,有如下配置
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600
里面表示系統可以有六個控制台,可以用ALT+(F1~F6)來切換。而 /sbin/agetty 就是一個登陸驗證程序,執行它,會提示用戶輸入用戶名和密碼,然后啟動一個指定的shell(在passwd文件中指定的)。
所以,我們只需將其修改為不執行 agettty,而是執行自己編寫的一個腳本,就可以跳過用戶名和密碼的輸入,這里我自己編寫的執行腳本的 mylog.sh。修改如下:
1:2345:respawn:/usr/bin/mylog.sh tty1 9600
其中 /usr/bin 是保持腳本的路徑,mylog.sh 是腳本名稱。這里要注意,里面可能一些是Debug輸出口或者其他用戶的控制台,你要找到對應你要免輸入登錄的用戶的控制台才行。
修改參考圖如下,下圖系統里的文件截圖參考圖跟我上面的多控制台配置數量有差別,不過原理一樣,貼圖只是為了方便參考。
這里我在 /usr/bin/ 下放了一個測試腳本 mylog.sh ,這樣系統啟動時就會執行那個腳本,腳本內容:
#!/bin/bash /bin/login -f root #執行root用戶登錄操作 #這個腳本你還可以放一些其他操作在這里也行,不過需要注意的是,這里的操作輸出信息你開機自動登錄后是不會顯示出來的
#你可以利用這里結合開機自啟動程序做很多的操作,開機自啟動參考我另外博客:https://www.cnblogs.com/xingboy/p/15909279.html