zoukankan      html  css  js  c++  java
  • 给嵌入式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了

  • 相关阅读:
    POJ3255(次短路)
    POJ2831(次小生成树问题)
    POJ1679(次小生成树)
    POJ2230(打印欧拉回路)
    HDU5469(树的dfs)
    JSON.parse()和JSON.stringify()的区别
    jQuery中.bind() .live() .delegate() .on()的区别
    javascript 伪数组和转化为标准数组
    JavaScript中本地对象、内置对象和宿主对象(转)
    获取非行间样式和定义样式(元素)
  • 原文地址:https://www.cnblogs.com/subo_peng/p/4882813.html
Copyright © 2011-2022 走看看