• 用Qemu模拟vexpress-a9 (七) --- 嵌入式设备上安装telnet服务


    转载: http://blog.csdn.net/liuqz2009/article/details/6921789

    Telnet协议是登陆远程网 络主机最简单的方法之一,只是安全性非常低。对target board来说,必须执行telnet监控程序,这样才可以远程登陆到target board。同时,如果想从开发板通过telnet远程登陆其他host,就需要具备telent client。

        在嵌入式Linux系统上的telnet的工具有:
        ·telnet client
        busybox telnet client。busybox本身就是为嵌入式系统量身打造,其telnet client精简,而且比较好用。

        ·telnet server
        主要有telnetd和utelnetd。就文件大小而言,utelnetd套件产生的二进制文件比telnetd要小,但是utelnetd不支持 internet super-server.下面先看busybox的telnet功能。client很简单,选择上就可以用了;而telnetd则要相对麻烦一些。

        Telnetd的移植倒不麻烦,busybox已经集成了一个。但是因为开始时配置出现问题,所以费了些时间才算稳定。

    (1)busybox的配置

        对Telnetd的配置部分:

    Networking Utilities --->

    [*]telnetd
    [*]  Support standalone telnetd (not inetd only)

        这个地方的配置说明,telnetd可以由inetd来启动,也可以standalone启动。

    配置内核
    UNIX98_PTYS=y

    在/etc/init.d/rcS中加入
    mkdir /dev/pts
    mount -t devpts devpts /dev/pts

    红色部分也可以在/etc/fstab中添加
    devpts /dev/pts devpts defaults 0 0

    手动添加

    首先我们介绍一下如何手动添加。以增加root用户为例,增加passwd文件,其内容为:
    #cat passwd
    root:x:0:0:root:/root:/bin/sh
    同时,此时要确定root目录已经存在。
    1     用户名
    2     是否有加密口令,x表示有,不填表示无,采用MD5、DES加密。
    3     用户ID
    4     组ID
    5     注释字段
    6     登录目录
    7     所使用的shell程序
     
    增加group文件,其内容为:
    #cat group
    root:x:0:
    1     组名
    2     是否有加密口令,同 passwd
    3     组ID
    4     指向各用户名指针的数组
     
    由于busybox默认启动了shadow模式,因此需要增加shadow文件,其内容为:
    #cat shadow
    root:$1$3jZ93Mwq$oaeef6lWIuThavs8wD0Wh1:0:0:99999:7:::
    1     用户名
    2     加密后的口令,若为空,表示该用户不需要口令即可登陆,若为*号,表示该账号被禁用。 上面的表示的是123456加密后的口令。
    3     从1970年1月1日至口令最近一次被修改的天数
    4     口令在多少天内不能被用户修改
    5     口令在多少天后必须被修改(0 为没有修改过)
    6     口令过期多少天后用户账号被禁止
    7     口令在到期多少天内给用户发出警告
    8     口令自1970年1月1日被禁止的天数
    9     保留域
    这 里强调一下shadow文件的由来。/etc/passwd文件对系统的所有用户都是可读的,这样的好处是每个用户都知道系统上有哪些用户,但缺点是其他 用户的口令容易受到攻击,尤其是当口令较简单时。所以一些linux系统中使用到了影子口令文件shadow,将用户的口令存储在另一个文件/etc /shadow中,该文件只有根用户root可读,大大提高了安全性。

    不过,采用这种手动添加文件的方法有一个缺陷,就是如果要为用户设置登陆口令的话,shadow文件中必须填写加密后的口令,而这个加密算法我们又不知道,即使知道,要经过转换后再添加,比较麻烦。此时,不妨试一下第二种方法。

    自动添加

    自动生成是使用了busybox提供的adduser工具和passwd工具。
    在文件系统正常运行起来后,使用adduser命令,使用方法为:
    #adduser root
    然后就会在etc目录下自动生成passwd 、group和shadow3个文件,如果没有自动生成,可以手动创建。但是运行该命令后会打印出如下消息:
    passwd:unknown uid 0
    这表示不能为该用户设置密码,此时你会发现要passwd命令也无法使用。
    解决的办法是,打开passwd文件,其内容为:
    root:x:1000:1000:Linux User…:/home/root:/bin/sh
    将用户ID和组ID均更改为0
    打开group文件,其内容为:
    root:x:1000:
    同样将组ID改为0
    然后,passwd命令就可以正常使用了。这时为root用户设置口令:
    #passwd root

    根据提示输入密码。其中,root用户登陆后的目录可以手动进行更改。

    在rcS文件中添加如下脚本,启动telnetd

    if [ -x /usr/sbin/telnetd ] ;
    then
            telnetd&
    fi
    Ø        在/dev目录下增加 null设备文件,否则上述脚本运行时会出错:提示找不到null文件。
    #mknod null c 1 3

    此时,telnetd功能开机就可以启动了。

    参考网址
    http://student.csdn.net/space.php?uid=48851&do=blog&id=11401
    http://linux.chinaunix.net/bbs/archiver/?tid-988432.html

    执行telnet命令时,连接到远端机后使用“escape”字符可进入telnet命令模式,此模式下用户可以输入telnet能够解释的命令,来控制telnet或设定与telnet相关的参数。默认的“escape” 字符为“Ctrl+]”。用户可以使用set命令修改“escape”字符的默认值。

  • 相关阅读:
    Oracle EBS-SQL (MRP-7):检查MRP计划运行报错原因之超大数据查询2.sql
    Oracle EBS-SQL (MRP-6):检查MRP计划运行报错原因之超大数据查询1.sql
    Oracle EBS-SQL (MRP-5):重起MRP Manager.sql
    Oracle EBS-SQL (INV-12):检查待定事物处理1.sql
    Oracle EBS-SQL (OM-6):打开订单.sql
    Oracle EBS-SQL (INV-11):检查子库存会计信息.sql
    Oracle EBS-SQL (OM-5):检查订单事务处理类型.sql
    Oracle EBS-SQL (OM-4):检查发运网络.sql
    Oracle EBS-SQL (PO-18):检查工作台下达的PR在系统找不到.sql
    Oracle EBS-SQL (PO-17):检查供货比例不为100%.sql
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/5028802.html
Copyright © 2020-2023  润新知