嵌入式arm linux设置登录用户和用户密码 您所在的位置:网站首页 如何更改账户名称和密码 嵌入式arm linux设置登录用户和用户密码

嵌入式arm linux设置登录用户和用户密码

#嵌入式arm linux设置登录用户和用户密码| 来源: 网络整理| 查看: 265

        最近在开发基于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:::



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有