linux 串口serial设置登陆密码

一、
如果是有这个文件 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了



--------------------------------------------------------------登录密码-------------------------------------

在rcS文件中加入

/bin/login


你可能感兴趣的:(linux/unix)