telnet的装配及xinetd的讨论
一、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的讨论的更多相关文章
- centos telnet --xinetd 服务
telnet由于是明文传输,所以安全起见最好不要用telnet服务.但是由于telnet是一个比较方便的远程工具,在windows上是自带 的不需要安装客户端即可使用.如果telnet设置的比较复杂, ...
- centos7 安装xinetd,telnet
安装方式:yum [root@master ~]# yum list |grep telnettelnet-server.x86_64 1:0.17-59.el7 ...
- xinetd黑/白名单配置教程(以telnet为例)
对于诸如telnet等托管于xinetd的服务,当请求到来时由于是通过xinetd进行通知,所以可以直接在xinetd上配置白名单允许和拒绝哪些ip连接服务. 本文主要参考xinetd.conf的ma ...
- Linux系统安装telnet以及xinetd服务
Linux系统安装telnet以及xinetd服务 一.安装telnet 1.检测telnet-server的rpm包是否安装 # rpm -qa telnet-server 若无输入内容,则表示没有 ...
- 在linux中配置安装telnet服务
Telnet 是一种流行的用于通过 Internet 登录到远程计算机的协议.Telnet 服务器软件包为远程登录主机提供了支持.要通过 Telnet 协议与另一台主机通讯,您可以使用名称或 Inte ...
- CentOS6开启FTP及telnet服务教程
先来开通CentOS6的FTP服务吧.telnet服务也一并学习学习吧.在安装好CentOS以后,需要设置Ftp和Telnet服务文件,才能启动Ftp和Telnet服务,可以通过远程控制进行开启. 开 ...
- Linux安装telnet
安装环境:CentOS 6.4 上篇已经讲述了memcached的安装,现在要测试Memcached功能的时候,需要使用到telnet服务.于是就有了本篇. 一.安装telnet 1.检测t ...
- Linux 系统Telnet服务
Linux 系统Telnet服务 telnet与ssh相比,安全性能并不高,但是在ssh版本升级或者其他的情况下还是需要开启这一项服务.linux提供服务是由运行在后台的守护进程daemon来执行的, ...
- CentOS7安装telnet服务
CentOS7.0 telnet-server 启动的问题.解决方法: ①.先检查CentOS7.0是否已经安装以下两个安装包:telnet-server.xinetd.命令如下: rpm ...
随机推荐
- java根据URL获取HTML内容
之前我写脚本,是想获取HTML内容的. 但是呢...一方面编码困扰着我,于是我写了这个: java根据URL获取网页编码 然后呢,每个网站是不是GZIP还得判断,贼麻烦... 但是没办法啊,麻烦也得写 ...
- BZOJ 4826 【HNOI2017】 影魔
题目链接:影魔 这道题就是去年序列的弱化版啊…… 我们枚举最大值的位置\(i\),找出左边第一个比\(a_i\)大的位置\(l\),右边第一个比\(a_i\)大的位置\(r\),然后我们分开考虑一下\ ...
- memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
1.在http://libevent.org/ 下载libevent-2.0.22-stable.tar.gz 2.tar -zxvf libevent-2.0.22-stable.tar.gz ...
- 1.1 vue.js devtools使用教程
1. vue.js devtools使用教程
- Mybatis的SqlSession理解(二)
Mybaits加载执行该xml配置 class SqlSessionFactoryBean implements FactoryBean<SqlSessionFactory>, Initi ...
- 设计模式(六)Prototype Pattern 原型模式
通过new产生一个对象非常繁琐,可以使用原型模式 原型模式实现: ——Cloneable接口和clone方法 ——Prototype模式实现起来最困难的地方是实现内存的复制和操作,Java中提供了cl ...
- prometheus的agent 二次开发代码参考
import com.codahale.metrics.MetricRegistry;import io.prometheus.client.CollectorRegistry;import io.p ...
- 优秀的web工具网址
1.百度开源的工具 https://www.baidu.com/home/news/data/newspage?nid=3868911095318333105&n_type=0&p_f ...
- 第 6 章 存储 - 044 - volume 生命周期管理
volume 生命周期管理 1)备份 因为 volume 实际上是 host 文件系统中的目录和文件,所以 volume 的备份实际上是对文件系统的备份 例如:本地的Registry,所有镜像都存在/ ...
- legend2---开发日志6(后端和前端如何相互配合(比如php,js,元素状态和数据改变))
legend2---开发日志6(后端和前端如何相互配合(比如php,js,元素状态和数据改变)) 一.总结 一句话总结:php给元素初始状态,js根据这个状态做初始化和后续变化,使用vue真的很方便( ...