Hi,欢迎来到嵌入式培训高端品牌 - 华清远见教育科技集团<北京总部官网>,专注嵌入式工程师培养15年!
当前位置: > 华清远见教育科技集团 > 嵌入式学习 > 讲师博文 > 根文件系统中添加telnetd服务
根文件系统中添加telnetd服务
时间:2017-01-03作者:华清远见

使用busybox制作的一个基本根文件系统如何添加telnetd服务呢?

下面把本人的添加过程列出来供大家分享,如有不同意见请不吝赐教!

1、 添加telnet的支持(busybox中配置)

Networking Utilities ---> 
                [*] telnet 
                [*] Pass TERM type to remote host
                [*] Pass USER type to remote host
                [*] telnetd
                [*] Support standalone telnetd (not inetd only)

2、 添加mdev的支持(busybox中配置)

        Linux System Utilities ---> 
                [*] mdev

3、 添加login(busybox中配置)

Login/Password Management Utilities ---> 
        [*] login

4、 修改etc/init.d/rcS添加mdev内容

#!/bin/sh

mount -a
        mkdir /dev/pts
        mount -t devpts devpts /dev/pts
        echo /sbin/mdev>/proc/sys/kernel/hotplug
        mdev -s
        /bin/hostname -F /etc/hostname

5、 创建etc/hostnam,并添加主机名

farsight

6、 在etc下创建文件passwd,group,shadow,创建目录/home

7、 修改etc/fstab为

#device mount-point type options dump fsck order
        proc /proc proc defaults 0 0
        tmpfs /tmp tmpfs defaults 0 0
        sysfs /sys sysfs defaults 0 0
        tmpfs /dev tmpfs defaults 0 0

8、 内核中添加相应的支持

UNIX98_PTYS=y
        DEVPTS_FS=y

9、 使用adduser添加用户

#adduser linux

10、 添加命令行提示符格式,修改/etc/profile添加如下内容

PS1='[\u@\h \W]\# '
        HOSTNAME=`/bin/hostname`
        export USER LOGNAME PS1

11、 启动telnet服务,在/etc/profile下添加如下内容

telnetd

这个时候我们就可以同过telnet client登陆我们的板子了。上面这些步骤有些不是必须的,大家可以根据需求选择。

12、 参考文献

A daemon for the TELNET protocol, allowing you to log onto the host running the daemon. Please keep in mind that the TELNET protocol sends passwords in plain text. If you can't afford the space for an SSH daemon and you trust your network, you may say 'y' here. As a more secure alternative, you should seriously consider installing the very small Dropbear SSH daemon instead:

//matt.ucc.asn.au/dropbear/dropbear.html 
        Note that for busybox telnetd to work you need several things:
        First of all, your kernel needs:
        UNIX98_PTYS=y
        DEVPTS_FS=y
        Next, you need a /dev/pts directory on your root filesystem:
        $ ls -ld /dev/pts
        drwxr-xr-x 2 root root 0 Sep 23 13:21 /dev/pts/
        Next you need the pseudo terminal master multiplexer /dev/ptmx:
        $ ls -la /dev/ptmx
        crw-rw-rw- 1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
        Any /dev/ttyp[0-9]* files you may have can be removed.
        Next, you need to mount the devpts filesystem on /dev/pts using:
        mount -t devpts devpts /dev/pts
        You need to be sure that Busybox has LOGIN and FEATURE_SUID enabled. And finally, you should make certain that Busybox has been installed setuid root: 
        chown root.root /bin/busybox
        chmod 4755 /bin/busybox with all that done, telnetd _should_ work....

发表评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)