Busybox 登陆后如何设置是否需要用户名和密码进入文件系统

来源:互联网 发布:子弹图纸尺寸图片编程 编辑:程序博客网 时间:2024/04/30 14:51

多多少少玩了几个开发板,发现一个很有意思的现象,有的在登陆文件系统时直接进入,有的则需要输入账号,有的则要输入账号和密码。

在学校学习的时候在制作根文件系统时就是按照步骤去做,大概了解了一下每个文件里面的内容,好像没有出现是否设置登陆方式的地方。

于是就将几个开发板的根文件系统内容作了对比,发现了一些蹊跷,和大家分享一下。

首先,涉及到登陆的方式,一定是在文件系统初始化的时候,所以先定位到/etc/inittab文件,果然发现了蹊跷。

没有要求登陆的是这样的

ttyS0::respawn:-/bin/sh

respawn的作用是如果相应的进程还不存在,那么init就启动该进程,同时不等待该进程的结束就继续扫描/etc/inittab文件;当该进程死亡时,init将重新启动该进程。如果相应的进程已经存在,那么init将忽略该登记项并继续扫描/etc/inittab文件。比如我们刚刚登陆的时候就会调用这个-/bin/sh,也就是我们的shell命令行。

需要登陆的是这样的

::respawn:/sbin/getty -L ttyAM0 115200 vt100

这里说一下/sbin/getty

getty 命令设置和管理终端线路和端口。getty 命令由 init 命令来运行。getty 命令与终端状态管理员程序相链接。终端状态管理员程序提供了终端控制和登录的复合功能。

所以使用getty命令最终也会启动终端并提供了登陆功能。

然而如果需要登陆的话还得在/etc/下添加group shadow passwd这3个文件。

这三个文件一般是只需要把自己机器上的三个文件拷贝到开发板上即可。

先说一下这三个文件的对应关系。

这三个文件中passwd文件关系到登陆的时候是否需要输入密码。

需要登陆密码的passwd内容如下

root:x:0:0:root:/root:/bin/sh

不需要输入密码的passwd内容如下

root::0:0:root:/home/root:/bin/sh

如果你拷贝了这三个文件,但是不想登陆的时候输入密码,可以将passwd文件中的“x”删掉,并同时删除shadow文件。

因为shadow文件中保存的是登陆密码的加密内容,入登陆密码是“root”的shadow文件内容是

root:fAwTdQCthcZf2:0:0:99999:7:::

其中红色部分就是加密后的登陆密码。

上面提到的只是文件片段,并不是全部的内容,如果仅仅添加这一行可能在使用时会出现问题,下面把经过验证的文件贴出来

这里是需要登陆密码的文件,如果不想使用密码可以按照上面去进行修改。

group

root::0:rootbin::1:root,bin,daemondaemon::2:root,bin,daemonsys::3:root,bin,admadm::4:root,adm,daemontty::5:disk::6:rootlp::7:daemon,lpmem::8:kmem::9:wheel::10:rootmail::12:mailnews::13:newsuucp::14:uucpman::15:games::20:gopher::30:dip::40:ftp::50:lock::54:nobody::99:users::100:slocate:x:21:tape:x:16:audio:x:17:video:x:18:cdrom:x:25:floppy:x:19:utmp:x:22:mailnull:x:47:xfs:x:43:ntp:x:38:rpc:x:32:gdm:x:42:rpcuser:x:29:nfsnobody:x:65534:nscd:x:28:ident:x:98:radvd:x:75:postgres:x:26:apache:x:48:sehsquid:x:23:named:x:70:pcap:x:77:junkbust:x:73:pppusers:x:44:popusers:x:45:slipusers:x:46:mailman:x:41:mysql:x:27:ldap:x:55:pvm:x:24:nogroup:x:65534:
passwd

root:x:0:0:root:/root:/bin/shbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinnews:x:9:13:news:/var/spool/news:uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologingopher:x:13:30:gopher:/var/gopher:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinmailnull:x:47:47::/var/spool/mqueue:/dev/nullxfs:x:43:43:X Font Server:/etc/X11/fs:/bin/falsentp:x:38:38::/etc/ntp:/sbin/nologinrpc:x:32:32:Portmapper RPC user:/:/bin/falsegdm:x:42:42::/var/gdm:/sbin/nologinrpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologinnfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologinnscd:x:28:28:NSCD Daemon:/:/bin/falseident:x:98:98:pident user:/:/sbin/nologinradvd:x:75:75:radvd user:/:/bin/falsepostgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bashapache:x:48:48:Apache:/var/www:/bin/falsesquid:x:23:23::/var/spool/squid:/dev/nullnamed:x:70:70:Named:/var/named:/bin/falsepcap:x:77:77::/var/arpwatch:/bin/nologinamanda:x:33:6:Amanda user:/var/lib/amanda:/bin/bashjunkbust:x:73:73::/etc/junkbuster:/bin/bashmailman:x:41:41:GNU Mailing List Manager:/var/mailman:/bin/falsemysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bashldap:x:55:55:LDAP User:/var/lib/ldap:/bin/falsepvm:x:24:24::/usr/share/pvm3:/bin/bash
shadow

root:fAwTdQCthcZf2:0:0:99999:7:::bin:*:11851:0:99999:7:::daemon:*:11851:0:99999:7:::adm:*:11851:0:99999:7:::lp:*:11851:0:99999:7:::sync:*:11851:0:99999:7:::shutdown:*:11851:0:99999:7:::halt:*:11851:0:99999:7:::mail:*:11851:0:99999:7:::news:*:11851:0:99999:7:::uucp:*:11851:0:99999:7:::operator:*:11851:0:99999:7:::games:*:11851:0:99999:7:::gopher:*:11851:0:99999:7:::ftp:*:11851:0:99999:7:::nobody:*:11851:0:99999:7:::sshd:!!:11851:0:99999:7:::mailnull:!!:11851:0:99999:7:::xfs:!!:11851:0:99999:7:::ntp:!!:11851:0:99999:7:::rpc:!!:11851:0:99999:7:::gdm:!!:11851:0:99999:7:::rpcuser:!!:11851:0:99999:7:::nfsnobody:!!:11851:0:99999:7:::nscd:!!:11851:0:99999:7:::ident:!!:11851:0:99999:7:::radvd:!!:11851:0:99999:7:::postgres:!!:11851:0:99999:7:::apache:!!:11851:0:99999:7:::squid:!!:11851:0:99999:7:::named:!!:11851:0:99999:7:::pcap:!!:11851:0:99999:7:::amanda:!!:11851:0:99999:7:::junkbust:!!:11851:0:99999:7:::mailman:!!:11851:0:99999:7:::mysql:!!:11851:0:99999:7:::ldap:!!:11851:0:99999:7:::pvm:!!:11851:0:99999:7:::

每天弄懂一个问题,慢慢就会变成大牛啦。





0 0