给嵌入式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了
给嵌入式linux串口添加密码的一些总结的更多相关文章
- 嵌入式Linux串口编程简介
文章目录 简介 用到的API函数 代码 简介 嵌入式Linux下串口编程与Linux系统下的编程没有什么区别,系统API都是一样的.嵌入式设备中串口编程是很常用的,比如会对接一些传感器模块,这些模块大 ...
- 嵌入式linux串口设置(一)
在linux中,所有的设备文件一般都位于“/dev”下,串口1和串口2对应的设备名依次为“/dev/ttyS0”, “/dev/ttyS1”,而且USB转串口的设备名通常为“/dev/ttyUSB0” ...
- 嵌入式linux串口编程(二)
/*com_writer.c*/#include "uart_api.h" int main(void){ int fd; char buff[BUFFER_SIZE]; if(( ...
- 嵌入式linux串口通信自发自收测试程序
/*串口自收自发程序主函数*/#include"uart_api.h"int main(){ int fd; char buff[BUFFER_SIZE]; char buff2 ...
- 嵌入式Linux学习笔记(六) 上位机QT界面实现和串口通讯实现
目录 (1).参考资料 (2).QT界面布局实现 (3).数据和操作逻辑 在上一章我们实现了下位机的协议制定,并通过串口通讯工具完成了对设备内外设(LED)的状态修改,下面就要进行上位机软件的实现了( ...
- 嵌入式linux驱动开发之给linux系统添加温度传感器模块
忙了几天,终于可以让ds18b20在自己的开发板的linux系统上跑了!虽然ds18b20不是什么新鲜玩意,但是想想知己可以给linux系统添加模块了还是有点小鸡冻呢! 虽然说现在硬件的资源非常丰富而 ...
- [添加用户]解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码
将nobody用户添加到nogroup 组:usermod -g nogroup nobody cat /etc/passwd|grep nobodynobody:x:65534:65534:nobo ...
- ARM 开发板嵌入式linux系统与主机PC通过串口传输文件
本文转载自http://useless20.blog.163.com/blog/static/237409982010227127576/ 嵌入式linux系统与主机通过串口传输文件 我想如果要从PC ...
- linux下添加用户到sudo组 并禁止sudo用户修改密码
linux下添加用户到sudo组 创建用户 useradd hanli 为新用户设置密码 passwd hanli 创建用户组 groupadd op 将用户添加到用户组 usermod - ...
随机推荐
- servelet 连接mysql
package helloworld; import java.io.IOException; import java.io.PrintWriter; import java.sql.*; impor ...
- solr-in-action-ch4-Configuring Solr
Solr基本的三个XML配置文件: solr.xml: solr 日志.shard.solrcould等配置 solrconfig.xml: 某个solr core的配置 schema.xml:某个s ...
- linux系统启动过程具体解释-开机加电后发生了什么 --linux内核剖析(零)
本文參考了例如以下文章 深入理解linux启动过程 mbr (主引导记录(Master Boot Record)) 电脑从开机加电到操作系统main函数之前执行的过程 详细解释linux系统的启动过程 ...
- 从获取点击事件根元素谈 target和currentTarget
事情由来: 写了一个点击事件,想获取根元素,想的直接用current就行了,因为之前就是这么用的,但是之前的点击元素是没子元素的,current就是根元素,但是这次点击元素内部有子元素,current ...
- OpenCV学习笔记十二:opencv_video模块
一,简介: 该库用于视频运动分析,目标追踪,背景分离等.
- shell编程实战总结
最近复习一下shell,顺便高级进阶一下,之前写脚本能简单尽量简单来,发现好多高深的东西还是没有理解,因此在这里记录一下整个过程并做相应的总结. 通过上代码的方式来介绍,后续可能会调整相应的排版 1. ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.7——使用Android Studio签署发布apk
问题: 想要使用Android studio生成签名配置,给他们分配build类型. 解决方案: Build菜单提供了生成签名配置,Project Structure窗口有tab用于分配不同的type ...
- Java 科学计数法
目录 Java 科学计数法 1 科学计数法的概念 1.1 有效数字 1.2 E记号 2 Java中的科学计数法 2.1 NumberFormat 2.2 DecimalFormat 2.3 BigDe ...
- Redis持久化之rdb&aof
Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件) RDB持久化方式是在一个特定的间隔保存某个时间点的一个数据快照. AOF(Append only file)持久化方式则会记 ...
- distinct与NULL在count的注意事项
select * from errorinfo ) from errorinfo select distinct info from errorinfo select count(distinct i ...