LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1130|回复: 8

请教lfs中自动登录的问题(结贴)

[复制链接]
发表于 2008-11-20 11:49:38 | 显示全部楼层 |阅读模式
如何实现刚刚搭建好的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;

结果为用户名可以不输入,但是登陆提示输入密码。
请大虾们讨论如何解决这个问题?
 楼主| 发表于 2008-11-20 21:04:04 | 显示全部楼层
问题解决,结贴。
方法同上
利用lfs中编译util-linux-2.12r的命令编译出agetty
然后make clean
./configure
cd login-utils
make login
编译出login放入/bin/
重启,自动进入bash。
回复 支持 反对

使用道具 举报

发表于 2008-11-20 21:49:10 | 显示全部楼层
感谢共享,谢谢!
回复 支持 反对

使用道具 举报

发表于 2008-11-26 22:29:30 | 显示全部楼层
Post by figured69;1911274
问题解决,结贴。
方法同上
利用lfs中编译util-linux-2.12r的命令编译出agetty
然后make clean
./configure
cd login-utils
make login
编译出login放入/bin/
重启,自动进入bash。

这里应该不用make clean的
LFS中使用的是shadow包中的login,所以在login-utils包中修改login源码,就需要进入login-utils目录编译生成login
在新版本中configure是加上--enable-login-utils就可以了
回复 支持 反对

使用道具 举报

发表于 2008-11-26 23:44:12 | 显示全部楼层
我采用了新版本的util-linux来尝试,出了点问题,系统启动不来了
现在只好用livecd来上网
提示错误:
INIT:ID "6" respawning too fast:disabled for 5 minutes
INIT:no more processes left in this runlevel
回复 支持 反对

使用道具 举报

发表于 2008-11-27 11:04:02 | 显示全部楼层
这个问题也有人出过,他的是/etc/inittab表写错了点东西,不知道你的是不是?
回复 支持 反对

使用道具 举报

发表于 2008-11-27 11:49:56 | 显示全部楼层
我的inittab文件没有写错什么东西
只是把默认的runlevel改为3,其他的没有动。
我实在centos5.2中替换的,还好有备份,已经恢复过来了~~
回复 支持 反对

使用道具 举报

发表于 2008-11-27 20:10:48 | 显示全部楼层
给你个更直接了当的:


  1.   kernel /boot/kernel root=/dev/hd rw init=/bin/bash --rcfile /etc/profile
复制代码


看截屏

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2008-11-28 09:08:54 | 显示全部楼层
这不就是传说中的单用户登录模式?好像是忘记root密码时用的一招。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表