lfs自动登录

如何实现刚刚搭建好的lfs,启动后不输入用户root和密码,运行.bash_profile
试过很多方式,修改过util-linux-2.12r/login-utils/下的源文件,并编译

在agetty.c的源代码中的第366行和367行
366 while ((logname = get_logname(&options, &chardata, &termio)) == 0)
367 next_speed(&termio, &options);
此处调用了get_logname得到用户输入的用户名,get_logname在1014行调用了do_prompt函数,输出了登录的提示符,类似于“login:”。这里,我们把366和367行注释,直接赋值logname为root:
366 //while ((logname = get_logname(&options, &chardata, &termio)) == 0)
367 // next_speed(&termio, &options);
368 logname = “root”;

修改源login命令的源代码
login程序在getty的同一个进程空间中运行,接受getty传来的用户名参数作为登录的用户名。
在login.c的源代码中的第407行:
407 passwd_req = 1;
通过对源代码的分析,此处为密码是否需要验证的一个开关。我们修改此处,把密码需要验证的开关直接关闭:
407 //passwd_req = 1;
408 passwd_req = 0;

LFS中使用的是shadow包中的login,所以在login-utils包中修改login源码,就需要进入login-utils目录编译生成login
在新版本中configure是加上--enable-login-utils就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值