linux系统定制都已完成,如何设置才能免输入用户名和密码直接登入linux?

reply:

系统启动过程中,kernel 最后会调用init,这个程序会读取 /etc/inittab文件进行设置。在/etc/inittab文件中有定义系统登陆:如下

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

/sbin/minigetty (有的系统是getty )的内容是获取终端属性并正确进行设置。然后minigetty调用 login进行用户密码验证来登陆系统。当然login做的工作不仅仅是这些还有与用户相关的资源系统设置等等。所以你要想不进行用户密码验证工作可以替换 上面的/sbin/mingetty,也可以替换init,也可以替换login,也可以在核心中更改直接登陆而不需要进行这些繁琐的验证。但是为了保证系统终端的正常,推荐改动login比较好。 具体的改动,你可以看看login ,mingetty的源代码就可以了。



ask again:

我已经通过修改/sbin/minigetty为/bin/ash实现了直接登陆系统,但当修改为/bin/bash时,使用很不正常,键盘输入老是打印不出来,不知原因何在?
login的源码在哪里?redhat7.3中自带吗?

reply:

使用不正常是因为你的系统没有进行终端设置.正常情况下这些设置是由 mingetty来设置的.你用 bash来取代mingetty,就没有作这个操作,所以终端显示就会出些莫名其妙的问题.
推荐改动mingetty 和login来实现.
你可以用如下命令来获取源码包的名称:
rpm -qf /bin/login
rpm -qf /sbin/mingetty

从源码盘上下载相应的源码包.


===========================================================================

使用beaglebone black板子试验过了,使用了一个脚本文件替换/bin/login文件。

inittab文件如下:

z6:6:respawn:/sbin/sulogin
S:2345:respawn:/sbin/getty 115200 ttyO0


替代/bin/login的文件为

#!/bin/sh


则运行如下:



输入用户名后没有反应,进不了系统。看来/sbin/getty会输出am335x-evm:

然后login启动登陆验证。


看来还得重新配置编译根文件系统或修改编译login程序来取消登陆验证了。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值