RHEL/CentOS純文字模式下的開機自動登入

來源:互聯網
上載者:User

標籤:

• Linux系統啟動登入過程

 

Linux系統從啟動到登入的整個過程大致如下:

      1> 載入BIOS資訊:包含了CPU/顯卡/記憶體/硬碟/網卡等硬體資訊、裝置啟動順序、時鐘資訊等等

      2> 根據BIOS的啟動順序資訊,依次執行,直到找到引導檔案

      3> Boot Loader:載入啟動引導檔案

      4> 載入核心,完成Linux核心環境的建立

      5> 執行/sbin/init程式,讀取設定檔/etc/inittab,設定運行等級,如level 3(這是載入完核心後,系統執行的第一個程式)

      6> init程式執行指令碼/etc/rc.d/rc.sysinit:設定PATH變數、設定網路設定、啟動swap分區、設定/proc等等

      7> 依據/etc/modules.conf檔案或/etc/modules.d目錄下的檔案來裝載核心模組

      8> 選擇的運行等級是3,啟動/etc/rc.d/rc.3.d/目錄下的指令碼程式,就是常說的開機自啟服務

      9> 執行/etc/rc.local指令碼程式

    10> 執行/sbin/mingetty程式,讀取使用者列表,並將使用者名稱轉化為/bin/login程式調用的參數

    11> 執行/bin/login程式,等待輸入並驗證使用者名稱和密碼

 

至此,就清楚在level3模式下,想要實現自動登入,就需要在第10和11這兩步進行修改。

 

 

• 首先,重新編譯產生/sbin/mingetty程式

 

1. 查看當前工作站的/sbin/mingetty 所屬的軟體包及其版本(例如:mingetty-1.08-5.el6.x86_64)

 

rpm -qf /sbin/mingetty

 

 

2. 根據目前的版本,進入網站http://download.chinaunix.net/,搜尋索引鍵“mingetty”,然後下載對應的源碼軟體包(由於該網站的相關資源不足,因此就下載mingetty-1.07-5.src.rpm 這個版本,也可在工作站下通過wget 命令直接下載)

wget http://down1.chinaunix.net/distfiles/mingetty-1.07-5.src.rpm

 

3. 將下載/上傳的源碼軟體包移動到/opt/rh 目錄下,然後解壓(養成一個分類放置和管理良好的習慣)

mv mingetty-1.07-5.src.rpm /opt/rhcd /opt/rhrpm2cpio mingetty-1.07-5.src.rpm |cpio -divtar -zxvf mingetty-1.07.tar.gz

 

4. 修改檔案mingetty-1.07/mingetty.c 中的代碼(設定開機自動登入的使用者為XXX,且該使用者必須存在):

 

5. 編譯產生mingetty(編譯過程需要時間,切勿中斷)

cd /opt/rh/mingetty-1.07/ && make

 

6. 將make 產生的檔案mingetty 強制覆蓋到/sbin 目錄下,至此,mingetty 的源碼更改就完成了。

1 cp -f /opt/rh/mingetty-1.07/mingetty /sbin

 

 

• 然後,重新編譯產生/bin/login程式

 

  1. 查看當前工作站的/bin/login 所屬的軟體包及其版本(例如:util-linux-ng-2.17.2-12.14.el6.x86_64)

1 rpm -qf /bin/login


  2. 根據目前的版本,進入網站http://download.chinaunix.net/,搜尋索引鍵“util-linux”,然後下載對應的源碼軟體包(根據當前工作站版本,推薦下載:util-linux-ng-2.17.2.tar.bz2)

1 cd /opt/rh2 wget http://down1.chinaunix.net/distfiles/util-linux-ng-2.17.2.tar.bz2


  3. 解壓下載/上傳的源碼軟體包

1 tar -jxvf util-linux-ng-2.17.2.tar.bz2

 

  4. 修改檔案util-linux-ng-2.17.2/login-utils/login.c 中的代碼

 

 

  5. 先安裝gcc 編譯器,然後再編譯產生login(編譯過程需要時間,切勿中斷)

1 yum install gcc2 gcc -o login login.c ../lib/setproctitle.c checktty.c -Wall -lcrypt -I ../include/

 

  6. 將產生的檔案login 強制覆蓋到/bin 目錄下,至此,login 的源碼更改就完成了。

1 cp -f login /bin/login

 

  7. 最後就可以重啟機器了

 

 

 

RHEL/CentOS純文字模式下的開機自動登入

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.