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

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

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

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

首先,涉及到登陆的方式,一定是在文件系统初始化的时候,所以先定位到/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:root
bin::1:root,bin,daemon
daemon::2:root,bin,daemon
sys::3:root,bin,adm
adm::4:root,adm,daemon
tty::5:
disk::6:root
lp::7:daemon,lp
mem::8:
kmem::9:
wheel::10:root
mail::12:mail
news::13:news
uucp::14:uucp
man::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:seh
squid: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/sh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/var/spool/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/dev/null
xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false
ntp:x:38:38::/etc/ntp:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/bin/false
gdm:x:42:42::/var/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/bin/false
ident:x:98:98:pident user:/:/sbin/nologin
radvd:x:75:75:radvd user:/:/bin/false
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
apache:x:48:48:Apache:/var/www:/bin/false
squid:x:23:23::/var/spool/squid:/dev/null
named:x:70:70:Named:/var/named:/bin/false
pcap:x:77:77::/var/arpwatch:/bin/nologin
amanda:x:33:6:Amanda user:/var/lib/amanda:/bin/bash
junkbust:x:73:73::/etc/junkbuster:/bin/bash
mailman:x:41:41:GNU Mailing List Manager:/var/mailman:/bin/false
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
ldap:x:55:55:LDAP User:/var/lib/ldap:/bin/false
pvm: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:::

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值