[转]WINCE telnet和FTP组件设置用户名和密码

初次定制WINCEtelnet和FTP组件的用户通常会遇到当你兴冲冲的从telnet或者FTP的客户端登录你的开发板时,系统却冷冰冰的 提示你要用户名和密码。于是仰天长叹:“苍天啊、大地啊、用户和密码是啥啊,俺明明没有设置密码啊”,这就是我当时遇到这个问题时候的感受。最后没办法, 只有将telnet密码去除(见本博一篇转帖文章),移植了一个ftp服务器到板子上。但这并不是长久之计,留下一个没有认证的telnet和ftp对于 产品来说无疑是一个显然的“漏洞”。
 
最后经过一些资料的查找知道有一个叫做NTLM的组件,这个在WINCE系统中也是存在的,如果你想你定制的telnet和ftp组件有认证功能,那么你必须将此组件定制到系统。关于NTLM(NT LAN MANGER)可以google里面有很详细的解释。
 
这里同样要介绍NTLMSetUserInfo函数了,关于此函数的详细说明请参考。在一些文章上说此函数可以用来动态的维护FTP和telnet的密码。为什么?经过我的实验理解是这样的:
1、NTLMSetUserInfo可以设置系统的用户名和密码;
2、将设置的用户名添加到FTP或telnet的UserList中,FTP和telnet就具备了用户名和密码;
 
以上两步需要注意的是你需要先在project.reg中定义好FTP和telnet的UserList,编译将NK烧到板子上。
NTLMSetUserInfo函数的调用你可以使用任何一项编译工具EVC或者vs2005的C#编一个程序就可以,只需要调用这一个函数。
 
此函数可以对系统各个用户的密码进行动态维护,而此用户可能是telnet或FTP的认证用户,这就是说为什么此函数可以动态维护FTP和telnet的密码。
 
啰嗦了那么多不知道说明白没有,希望对大家有帮助。


 来自:

http://blog.chinaunix.net/u1/49867/showart_460633.html 

原文地址:https://www.cnblogs.com/answer/p/1727337.html