一、Telnet安装与启动

telnet由于是不安全的明文传输所以基本被ssh取代了,尤其是在Linux上;不过还是可能会用到,且启停方式还有些不同所以还是有必要说明一下。

rpm -qa | grep telnet           #查看是否安装
yum install -y telnet #装客户端,可选
yum install -y telnet-server #安装服务端
yum install -y xinetd #超级守护进程,一般已安装
service telnetd start #想像中的但实际不可行的停止方式
service telnetd stop #想像中的但实际不可行的停止方式

正确启动操作如下:

第一步,打开/etc/xinetd.d/telnet,将其中的disable值由yes改为no。

第二步,重启xinetd。

service xinetd restart

正确关闭操作如下:

将disable值由no改为yes,再重启xinetd即可。

其实此时telnet服务并未马上关闭,之前telnet的会话还是可以使用,只是由于无人通知连接到来所以不能新连入而已;会话全部退出后进程也确实关闭。

二、关于为什么需要xinetd的讨论

对于ssh等诸多服务我们都习惯用service来直接启停,从使角度这也是很方便的;但对于telnet与众不同的启动方式让人迷惑:我们要启动telnet为什么要通过启动另一个程序来启动呢?

还是telnet的服务名(实际是脚本名)叫xinetd?telnet就是telnet另起一个风马牛不相及的名字,程序员有病吧?

事情得从Linux的程序运行说起,我们会注意到经常我们在一个终端执行命令,如果终端被关闭无论命令是否已完成都会被中止,也就是说Linux中普通命令要依赖于终端而生存的。

对于一向服务比如http,如果终端退出就中止这个不可接受的;而要一个终端一直在那登录着也是不现实的。

解决这个问题就要使服务的进程变为与终端无关的守护进程(也因此常常把守护进程用作服务的意思)

守护进程的实现又有两种方式:一是自身变为守护进程,一是拖管于xinetd超级守护进程

自身变为守护程,即进程一直驻在内存等待客户端请求;httpd等正是这种方式(d正是daemon,守护进程模式的意思)。

拖管于xinetd超级守护进程,即一般是休眠状态xinetd检测到其监听的端口有客户端请求到来之后再去通知唤醒他;telnet正是这种方式。

所有的服务都可以拖管于xinetd方式;但使用这种方式的服务正越来越少,以致我们都不了解这是什么东西。

这有两个原因,一是对于httpd这种频繁请求的服务,频繁唤醒并不见得比自身为守护进程节省资源。

二是现在的资源并不像以前那样紧缺,使用方便易懂(在这是启停)的优先级已然要高于节省资源的优先级。

telnet的装配及xinetd的讨论的更多相关文章

  1. centos telnet --xinetd 服务

    telnet由于是明文传输,所以安全起见最好不要用telnet服务.但是由于telnet是一个比较方便的远程工具,在windows上是自带 的不需要安装客户端即可使用.如果telnet设置的比较复杂, ...

  2. centos7 安装xinetd,telnet

    安装方式:yum [root@master ~]# yum list |grep telnettelnet-server.x86_64                    1:0.17-59.el7 ...

  3. xinetd黑/白名单配置教程(以telnet为例)

    对于诸如telnet等托管于xinetd的服务,当请求到来时由于是通过xinetd进行通知,所以可以直接在xinetd上配置白名单允许和拒绝哪些ip连接服务. 本文主要参考xinetd.conf的ma ...

  4. Linux系统安装telnet以及xinetd服务

    Linux系统安装telnet以及xinetd服务 一.安装telnet 1.检测telnet-server的rpm包是否安装 # rpm -qa telnet-server 若无输入内容,则表示没有 ...

  5. 在linux中配置安装telnet服务

    Telnet 是一种流行的用于通过 Internet 登录到远程计算机的协议.Telnet 服务器软件包为远程登录主机提供了支持.要通过 Telnet 协议与另一台主机通讯,您可以使用名称或 Inte ...

  6. CentOS6开启FTP及telnet服务教程

    先来开通CentOS6的FTP服务吧.telnet服务也一并学习学习吧.在安装好CentOS以后,需要设置Ftp和Telnet服务文件,才能启动Ftp和Telnet服务,可以通过远程控制进行开启. 开 ...

  7. Linux安装telnet

    安装环境:CentOS 6.4    上篇已经讲述了memcached的安装,现在要测试Memcached功能的时候,需要使用到telnet服务.于是就有了本篇.   一.安装telnet 1.检测t ...

  8. Linux 系统Telnet服务

    Linux 系统Telnet服务 telnet与ssh相比,安全性能并不高,但是在ssh版本升级或者其他的情况下还是需要开启这一项服务.linux提供服务是由运行在后台的守护进程daemon来执行的, ...

  9. CentOS7安装telnet服务

    CentOS7.0 telnet-server 启动的问题.解决方法:    ①.先检查CentOS7.0是否已经安装以下两个安装包:telnet-server.xinetd.命令如下:    rpm ...

随机推荐

  1. ImgNoGoodWindow

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using UnityEditor; ...

  2. JS基础---常见的Bom对象

    BOM(Browser Object Mode)浏览器对象模型,是Javascript的重要组成部分.它提供了一系列对象用于与浏览器窗口进行交互,这些对象通常统称为BOM. 一张图了解一下先 1.wi ...

  3. Docker个人理解总结

    最新在学习Docker,记录下自己对Docker的理解. 一.Docker是什么? 1. Docker是一个能够把开发的应用程序自动部署到容器的开源引擎. 2.Docker使用Google公司推出的G ...

  4. Git 中 pull 和 clone 的区别

    git pull git clone clone 是本地没有 repository 时,将远程 repository 整个下载过来. pull 是本地有 repository 时,将远程 reposi ...

  5. Mybatis的SqlSession理解(二)

    Mybaits加载执行该xml配置 class SqlSessionFactoryBean implements FactoryBean<SqlSessionFactory>, Initi ...

  6. hibernate事务规范写法

    @Test public void testTx() { SessionFactory sessionFactory = null; Session session = null; Transacti ...

  7. R语言网页爬虫

    R 是统计计算和数据分析的利器.给定一个数据集,利用前几章介绍到的 R 中灵活的数据结构或高性能计算,我们可以很方便地进行数据转换.建模和数值分析.一般来说,商业数据库会将数据以表格的形式很好地组织起 ...

  8. lattice 作图 举例

    library(lattice) Depth <- equal.count(quakes$depth, number=8, overlap=.1)xyplot(lat ~ long | Dept ...

  9. 力扣(LeetCode)226. 翻转二叉树

    翻转一棵二叉树. 示例: 思想 递归 java版 /** * Definition for a binary tree node. * public class TreeNode { * int va ...

  10. 从flask视角理解angular(四)Route

    app-routing.modules.ts import { NgModule } from '@angular/core'; import { RouterModule, Routes } fro ...