給嵌入式linux串口添加密碼的一些總結


要添加串口登錄密碼就需要修改 /etc/inittab 文件的配置 但是不同的開發板情況不一樣,有的是沒有這個文件的,BusyBox會檢查/etc/inittab文件是否存在, 如果此文件不存在, BusyBox會使用缺省的inittab的配置。它主要會為系統重引導,系統掛起以及init重啟動設置缺省的動作。此外, 它還會為頭四個虛擬控制台(/dev/tty1到/dev/tty4)設置啟動shell的動作。如果並未建立這些設備文件, BusyBox將會報錯。 如果存在/etc/inittab文件, BusyBox會予以剖析, 並將其中的命令記錄在內部的數據結構中, 以便適時執行。 BusyBox能
夠識別的inittab文件格式, 在BusyBox套件附帶的文檔中有很好的說明。
inittab里面的內容有一定的格式,具體格式網上很多,這里就不再細說了。
一、
如果是有這個文件 vi /etc/inittab 打開
修改/etc/inittab文件

::askfirst:-/bin/sh
tty2::askfirst:-/bin/sh
等全部注掉
增加一行
::respawn:/sbin/getty -L ttyS0 115200 vt100
這個ttyS0是串口設備的設備文件但是不同的系統,設備文件名由於串口驅動的不同而不同,那么如何確認自己的串口設備是哪一個呢
方法是 :
cd /dev //打開顯示設備文件的文件夾 dev
ls ttyS* //顯示所有前四個字母是ttyS的設備文件
我的系統里出現的是 ttySAC0 、ttySAC1、ttySAC2、ttySAC3、ttySAC4
用來確定是哪個串口設備的方法是 echo qqqqqqq > /dev/ttySAC0我把上面5個設備全試了一遍發現只有ttySAC0可以打印出 qqqqqqq 說明ttySAC0就是我要找的串口設備文件。
然后 我將::respawn:/sbin/getty -L ttyS0 115200 vt100中的ttyS0替換為 ttySAC0
然后保存退出
然后在命令行下敲入passwd
這時系統會提示你給root設置一個密碼,設定密碼並確認密碼后
reboot重新啟動
重啟后就會需要用戶名跟密碼。
xxxxxx login: //root
passwd:// 輸入之前設定的密碼
但是每次退出時必須用exit命令退出終端,如果直接拔掉串口線,下次插上則可以直接進入系統,不需要輸入密碼。
有的文章說終端設置中流控要選擇XON/XOFF,不然沒有辦法輸入用戶名密碼。但我嘗試了流控選擇 “無” 輸入用戶名和密碼也是可以進入的。
有必要提一下的是 sbin下的getty是Linux下的一個開啟和設置終端的命令,進行終端的開啟、終端初始化、設置終端。
二、
如果/etc下沒有 inittab 這個文件,BusyBox會使用缺省的inittab的配置
也就是說默認的啟動腳本將會被啟動,如果想要設置一個串口登錄密碼,需要在/etc下創建一個inittab文件,文件的內容是
::sysinit:/etc/init.d/rcS //sysinit后面的路徑是系統啟動所需要的啟動腳本,系統的不同路徑也不一樣,可以根據自己的需要進行添加
::respawn:/sbin/getty -L ttyS0 115200 vt100 // ttyS0根據( 一、)中的方法填寫
然后設置密碼,重啟 就OK了


免責聲明!

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



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