Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1245604
  • 博文数量: 254
  • 博客积分: 1586
  • 博客等级: 上尉
  • 技术积分: 2295
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-15 16:38
个人简介

linux学习中

文章分类

全部博文(254)

文章存档

2016年(6)

2015年(2)

2014年(74)

2013年(93)

2012年(12)

2011年(2)

2010年(51)

2009年(14)

分类: 嵌入式

2016-05-05 09:45:33

OPENWRT编译前启用TELNET

2015年06月07日  

有些时候,我们希望在生成路由器密码后仍能够使用OpenWRT提供的Telnet服务。但是OpenWRT默认将会在用户修改密码后终止Telnet服务,本文将会指导你如何在编译固件时永久保留Telnet服务并追加Telnet的登录验证。

软件平台:OpenWRT 14.07
硬件平台:Atheros ar71xx ar9331

1.使OpenWRT编译login程序

相信谁都不希望别人可以轻易得到我们路由器的终端控制权,因此有必要在Telnet的接入阶段提供用户登入的功能。然而OpenWRT默认不会为Telnet编译login这个程序(Linux下提供系统用户登录的程序),那么为了让Telnet能够借用login来验证用户的密码,我们就需要让OpenWRT将login这个程序编译到系统中。

首先,我们在编译目录键入命令
make menuconfig

来进入OpenWRT编译配置界面。随后请进入Base system,然后找到busybox,然后按下回车,之后你会看到一个Busybox的组件设置菜单,请在Login/Password Management Utilities上按下回车,然后选中这些选项:
-login
-Run logged in session in a child process
-Support for PAM (Pluggable Authentication Modules)
-Support for login scripts
-Support for /etc/nologin
-Support for /etc/securetty

如下图
OpenWRT_BBox_Login

 

2.修改OpenWRT源代码,使Telnet总是启动

默认OpenWRT在用户设置密码后就会禁用Telnet,从系统第二次启动开始用户就会发现自己无法启用Telnet服务,原因就在于Telnet的启动脚本: /etc/init.d/telnet,我们可以在OpenWRT的源代码的package/utils/busybox/files文件夹中找到这个启动脚本。

打开脚本可以看到这样的内容:
20150405_OpenWRT_telnet_init.d

这个文件中,start_service()区段即为启动服务的函数,可以看到在其中包含有if…then…fi的判断函数,它的作用是判断系统中root用户不存在密码,满足这个条件才会启动telnet。很明显,若要使telnet服务一直可用,需要移除这个判断,最简单的方法是将if区段中的判断部分注释掉,如下图所示:
20150405_OpenWRT_telnet_init.d_mod

 

3.使telnet启用登录验证

现在我们有了用来验证的login,有了无论如何都能够启动telnet的启动脚本。接下来就是让telnet来调用login从而实现验证了。

那么经过如上修改后,OpenWRT的Telnet就可以在任意时刻登录了吗? 答案是否定的,如果你修改了密码,那么登录后就只能看到一行Login failed。telnet默认在登录时会执行 /bin/login.sh 这个脚本(我们可以在OpenWRT的源代码的package/base-files/files/bin中找到这个脚本),但是这个脚本中有这么一段:
20150405_OpenWRT_login.bin_org

在这个脚本的上方有个if判断由于验证系统是否存在密码,如果存在密码,就会在输出一行Login failed.后退出并断开连接。因此,我们需要修改这个判断区段中检测到密码后的行为,修改为下图所示:
20150405_OpenWRT_login.bin_mod

如果你已经完成上述3处的修改,现在你就可以编译永久提供telnet的OpenWRT ROM了。最终效果如下:

20150405_OpenWRT__telnet_Login

 本文终

转自:

阅读(10892) | 评论(1) | 转发(2) |
给主人留下些什么吧!~~

wangxueningmou2018-11-07 13:04:47

图片怎么打不开