Linux 實現開機跳過輸入用戶名和密碼


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM