最近在开发基于arm linux的集中器,出于保护系统的目的,需要给系统设置登录用户名和密码,因此就在网上查询了下怎样给嵌入式arm linux系统设置登录用户名和密码的方法,结果如下:

设置登录用户和用户密码,在/etc/inittab文件中,内容如下:
#first:run the system script file
::sysinit:/etc/init.d/rcS
#::askfirst:-/bin/sh
::sysinit:-/bin/login
::ctrlaltdel:-/sbin/reboot
#umount all filesystem
::shutdown:/bin/umount -a -r
#restart init process
::restart:/sbin/init

加上注释,第四项是设置登录界面的,利用的是busybox中的login程序。我将第三项注释掉,添加了一个第四项。在/etc/目录下创建一个passwd文件和shadow文件,passwd文件中内容为
root:x:0:0:root:/:/bin/sh
第一段表示登录用户名,第二段如果是x表示密码在shadow中,为密文,不可见。第三段表示当前用户的UID等级,一般root超级用户的UID为0,表示等级最高,最好将其他用户的UID等级设置为0.第四段暂不说,详细忘了,可以网上搜索,第五段表示登录名的全名,不是很重要,可以表示该用户的地址等。第六段表示默认登录后所在目录,第七段表示登录后执行的脚本。arm Linux中是/bin/sh而不是/bin/bash。

shadow文件中内容为:
root:Wdfdfqwe:17226:::::
第一段表示登录的用户名
第二段表示密文密码。

设置用户密码:
passwd root
之后输入该用户的密码,之后在shadow中就会生成密文密码,你是无法知道具体含义的,生成密文密码后,可以将shadow文件中的密文密码放入到制作根文件系统的文件夹中,然后烧录以便不用每次都设置密码。

在我的嵌入式系统中使用passwd root设置root用户密码后,在shadow文件中并没有看到如上面所说的shadow文件中的内容,反而我的shadow文件是空的,但是在passwd文件中可以看到加了密的密码如下,原因是busybox中生成passwd工具的时候配置没有设置好,可以如下方法解决:

我的系统中的passwd内容:

之后重启系统,root登录后,reboot无法使用,此时使用reboot -f可以重启。

设置好登录界面和密码后,如果使用telent登录也会需要输入登录名和密码,有保护系统的效果。密码如果忘了,只能在文件夹形式的根文件系统中,将shadow文件中的密文密码弄成空,这样表示没有密码,然后重新烧录,系统启动后,直接输入登录名就可以登录到系统中,此时可以在重新利用passwd root重新给root用户设置密码,设置成功后在shadow文件中又生成了该密码对应的密文密码,此时将这个shadow文件中该用户对应的密文密码复制到文件夹形式的根文件系统中,重新制作文件系统重新烧录即可。
如果不想要登录界面了,不用每次都输入登录名和密码了,只需要将ininttab文件中的第四项注释掉,将第三项注释打开,如下图同时将箭头指示的两个地方注释掉。

下图是需要登陆密码的时候的配置:

在实际使用的过程中还遇到一个登陆问题,就是系统启动后一段时间没有登陆的操作会出现下面的问题:Login timed out after 60 seconds,这个超时提醒,后续的操作都不起作用。

后来在我的inittab文件中增加了一句::respawn:/bin/login,respawn确保login超时后重新进入login。不加respawn login会超时然后直接进入命令行。

详细解释passwd文件和shadow文件:

一、/etc/passwd
/etc/passwd 文件是一个纯文本文件,每行采用了相同的格式:
name:password:uid:gid:comment:home:shell
name 用户登录名
password 用户口令。此域中的口令是加密的,常用x表示。当用户登录系统时,系统对输入的口令采取相同的算法,与此域中的内容进行比较。如果此域为空,表明该用户登录时不需要口令。
uid 指定用户的 UID。用户登录进系统后,系统通过该值,而不是用户名来识别用户。
gid GID。如果系统要对相同的一群人赋予相同的权利,则使用该值。
comment 用来保存用户的真实姓名和个人细节,或者全名。
home 指定用户的主目录的绝对路径。
shell 如果用户登录成功,则要执行的命令的绝对路径放在这一区域中。它可以是任何命令。
如果/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下
(1):用户名。
(2):密码(已经加密)
(3):UID(用户标识),操作系统自己用的
(4):GID组标识。
(5):用户全名或本地帐号
(6):开始目录
(7):登录使用的Shell,就是对登录命令进行解析的工具。
例如:abc:x:501:501::/home/abc:/bin/bash
二、/etc/shadow
如果查看/etc/shadow文件存放的特殊帐号信息如下:
name:!!:13675:0:99999:7:::  
每一行给一个特殊帐户定义密码信息,每个字段用 : 隔开。
字段 1 定义与这个 shadow 条目相关联的特殊用户帐户。
字段 2 包含一个加密的密码。
字段 3 自 1/1/1970 起,密码被修改的天数
字段 4 密码将被允许修改之前的天数(0 表示“可在任何时间修改”)
字段 5 系统将强制用户修改为新密码之前的天数(1 表示“永远都不能修改”)
字段 6 密码过期之前,用户将被警告过期的天数(-1 表示“没有警告”)
字段 7 密码过期之后,系统自动禁用帐户的天数(-1 表示“永远不会禁用”)
字段 8 该帐户被禁用的天数(-1 表示“该帐户被启用”)
字段 9 保留供将来使用

如果查看/etc/shadow下存放的普通帐号信息如下:
(1):帐号名称
(2):密码:这里是加密过的,但高手也可以解密的。要主要安全问题(代!符号标识该帐号不能用来登录)
(3):上次修改密码的日期
(4):密码不可被变更的天数
(5):密码需要被重新变更的天数(99999表示不需要变更)
(6):密码变更前提前几天警告
(7):帐号失效日期
(8):帐号取消日期
(9):保留条目,目前没用
例如:abc:!!:14768:0:99999:7:::

嵌入式arm linux设置登录用户和用户密码相关推荐

  1. 嵌入式arm linux 文件系统登入密码的修改笔记

    1.设置登录时需要用户和用户密码,在/etc/inittab文件中添加: ::respawn:/sbin/getty -L ttyPS0 115200 vt100  或  ::respawn:-/bi ...

  2. 嵌入式基于Linux电机控制,基于嵌入式arm+linux平台的直流电机调速控制系统.pdf

    2012--2013 学年第 二 学期 物电 学院期末考试卷 嵌入式系统与应用 学号 : 姓名 : 班级 : 成绩: 评语: 装 订 (考试题目及要求) 嵌入式大作: 采用实验箱上的电位器作为信号输入 ...

  3. 嵌入式arm linux Java运行环境搭建和注意事项

    嵌入式arm linux Java运行环境搭建和注意事项 我的开发硬件环境 搭建步骤 1. 下载 ORacle 公司的ejdk-8u211-linux-arm-sflt.tar.gz(软件浮点版本,这 ...

  4. linux换服务器登录插件,Linux服务器登录、注销 用户和用户组管理

    登录.注销# 立刻关机 shutdown -h now # 1分钟后,关机 shutdown -h 1 # 立刻重启 shutdown -r now # 2分钟后,重启 shutdown -r 2 # ...

  5. 给嵌入式ARM+Linux的初学者

    本文写给已经听过或接触过嵌入式并对此产生兴趣,可是对于嵌入式觉得无从下手的初学者. 0. 为什么要写这篇 我以前读研的时候选过一门嵌入式ARM的选修课,课程在实验室中进行,每个同学一个ARM开发板,老 ...

  6. Linux设置登录密码错误次数限制

    1.备份相关文件 为了避免编辑出错,最好备份一下将要编辑的文件. cp /etc/pam.d/sshd /etc/pam.d/sshd.bak cp /etc/pam.d/login /etc/pam ...

  7. 嵌入式arm linux产品,基于ARM——Linux的嵌入式产品平台构建

    摘要: 随着计算机技术的发展,嵌入式系统已成为计算机领域一个重要组成部分,并成为近年来新兴的研究热点.ARM7TDMI是一种高效,低功耗的RISC处理器,以该内核为核心的 LPC2210 是一款基于以 ...

  8. arm linux设置ip地址命令,ARM Linux系统修改动态IP为静态IP地址

    # Wired or wireless interfaces auto eth0 #iface eth0 inet dhcp #        pre-up /bin/grep -v -e " ...

  9. linux 设置文件为可修改密码,linux 为用户设定、修改密码 passwd

    passwd 语法结构: 首先,大家一定要知道"男人"说的话是很负责任的,所以有事找"男人".让我们看看"男人"对这个 passwd 怎么说 ...

最新文章

  1. Seaborn可视化使用relplot函数可视化数据长度不同的时间序列实战:two Pandas Series of different lengths
  2. python判断是否是完数_python判断是否完数
  3. OpenCV实现简单人脸检测
  4. CF 1475 D. Cleaning the Phone 思维模型
  5. gin 项目结构_Gin框架中文文档
  6. Web前端开发——BAT面试题汇总及答案01
  7. 高T技术大牛的百度十年:白天求生存,晚上求发展
  8. 服务器密闭通道天窗维修,机柜及密闭通道技术规范
  9. shell脚本日常机房巡检
  10. 遍历目录下的所有文件(文件)
  11. IDEA卸载和删除注册表
  12. 90年代自学C,独立研发中文编辑器和输入法,被称小说圈中的Geek,你一定不知道这样的王小波!
  13. html网页制作之细谈HTML前端项目开发过程中的细节及心得_避免入坑
  14. 基于matlab的步进电机转速控制仿真,matlab步进电机转速控制仿真(课程设计).doc
  15. php使用fpm fcgi模式,为所有PHP模式安装Ioncube Loader(CLI,CGI,FCGI和FPM)在Debian Wheezy...
  16. 地牢围攻2 宽屏补丁 使用说明
  17. 记 cisco ucs b200 m3 部署esxi 6.7
  18. 导航定位系统的原理解析(一个小白写给另一个小白)
  19. 小区防疫门禁管理系统c语言
  20. APP 开发方式的优缺点有哪些?

热门文章

  1. 那些相信天赋的人实际是他们自己能力不高
  2. 清醒于计算机的思考。
  3. Log抓取和分析-BugReport
  4. 江苏省2023年普通高等学校“专转本”选拔工作实施办法的通知
  5. 在IE浏览器中使用Windows窗体控件(三)
  6. 摩尔庄园里SMC里所有职业的攻略
  7. 1681c java_诺基亚1681c可以用同花顺吗
  8. web前端开发技术实验与实践(第三版)储久良编著 课外拓展训练1.2 设计彩色页面
  9. html给图片加描边,PS修图之进行图片描边,教你两种方法
  10. 神经网络的matlab代码,神经网络 matlab代码