centOS安装telnet服务和xinetd服务和iptables和linux运行级别

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
运维安全中心(堡垒机),免费版 6个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 默认在centOS最小安装下没有安装telnet服务的,需要自己安装(root权限): 错误: [root@localhost log]# telnet 192.168.10.56 27017-bash: telnet: command not found 1:查看系统版本信息(centos7): [root@localhost log]# cat /etc/issue

默认在centOS最小安装下没有安装telnet服务的,需要自己安装(root权限):

错误:

[root@localhost log]# telnet 192.168.10.56 27017
-bash: telnet: command not found

1:查看系统版本信息(centos7):

[root@localhost log]# cat /etc/issue
\S
Kernel \r on an \m

2:检查是否安装telnet:

[root@localhost log]# rpm -qa | grep telnet
[root@localhost log]# 
3:进行安装,客户端和服务器端:
[root@localhost xinetd.d]# yum -y install telnet
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
……………………
  Verifying  : 1:telnet-0.17-59.el7.x86_64      1/1 
Installed:
  telnet.x86_64 1:0.17-59.el7                                                                                                                                                                  
Complete!
[root@localhost xinetd.d]# yum -y install telnet-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
……………………
  Verifying  : 1:telnet-server-0.17-59.el7.x86_64      1/1 
Installed:
  telnet-server.x86_64 1:0.17-59.el7                                                                                                                                                           
Complete!

注:如果安装telnet-server服务启动依赖xinetd服务.xinetd超级服务为管理保护各个服务,未安装,需要首先按照。

xinetd:eXtended InterNET services daemon,超级Internet服务器,常用来管理多种轻量级Internet服务。

4:查看是否安装xinetd (若安装则不安装):

[root@localhost ~]# rpm -qa | grep xinetd
[root@localhost ~]# 

5:安装xinetd服务:

[root@localhost init.d]# yum -y install xinetd
Loaded plugins: fastestmirror
base                                  | 3.6 kB  00:00:00
……………………
  Verifying  : 2:xinetd-2.3.15-12.el7.x86_64         1/1 

Installed:
  xinetd.x86_64 2:2.3.15-12.el7                                                                                                                                                                

Complete!

xinetd安装完成!
6:telnet服务之后,默认是不开启服务,修改文件/etc/xinetd.d/telnet来开启服务:

注:如有则修改,第一次修改,此文件若不存在,可自己vim创建修改:
       修改 disable = yes 为 disable = no

[root@localhost xinetd.d]# pwd
/etc/xinetd.d
[root@localhost xinetd.d]# ls
chargen-dgram  chargen-stream  daytime-dgram  daytime-stream  discard-dgram  discard-stream  echo-dgram  echo-stream  tcpmux-server  time-dgram  time-stream

[root@localhost xinetd.d]# vim telnet
[root@localhost xinetd.d]# cat telnet 

修改后的telnet文件为:

# default: yes

# description: The telnet server servestelnet sessions; it uses \

#      unencrypted username/password pairs for authentication.
service telnet

{
  flags           = REUSE
  socket_type     = stream
  wait            = no
  user            = root
  server          =/usr/sbin/in.telnetd
  log_on_failure  += USERID
  disable         = no 
}

7:安装后检查:

[root@CentOS-Slave1 xinetd.d]# rpm -qa | grep telnet
telnet-0.17-59.el7.x86_64
telnet-server-0.17-59.el7.x86_64
[root@CentOS-Slave1 xinetd.d]# rpm -qa | grep xinetd
xinetd-2.3.15-12.el7.x86_64

8:启动telnet和依赖的xinetd服务:

在centos7之前:

$ service  xinetd restart   
或$ /etc/rc.d/init.d/xinetd  restart

在centos7中(无xinetd的service启动项):

[root@CentOS-Slave1 xinetd.d]# service xinetd restart
Redirecting to /bin/systemctl restart  xinetd.service
[root@CentOS-Slave1 xinetd.d]# systemctl restart  xinetd.service

[root@CentOS-Slave1 xinetd.d]# /bin/systemctl restart  xinetd.service

9:查看启动:

[root@CentOS-Slave1 xinetd.d]# ps -ef | grep xinetd
root      6641     1  0 23:22 ?        00:00:00 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
root      6644  5817  0 23:24 pts/3    00:00:00 grep --color=auto xinetd

10:测试telent,输入ip+用户名+密码登陆,登陆问题见备注附件:

[root@CentOS-Slave1 pam.d]# telnet 192.168.10.56
Trying 192.168.10.56...
Connected to 192.168.10.56.
Escape character is '^]'.

Kernel 3.10.0-229.el7.x86_64 on an x86_64
CentOS-Slave1 login: root
Password: 
Last failed login: Sat Oct 17 23:25:50 CST 2015 from CentOS-Slave1 on pts/0
There were 3 failed login attempts since the last successful login.
Last login: Sat Oct 17 22:22:27 from CentOS-Slave1
[root@CentOS-Slave1 ~]# exit
logout
Connection closed by foreign host.
11:设置服务开机启动:
[root@CentOS-Slave1 rc3.d]# chkconfig --level 35 xinetd on
Note: Forwarding request to 'systemctl enable xinetd.service'.
[root@CentOS-Slave1 rc3.d]# systemctl enable xinetd.service
12:查看:
[root@CentOS-Slave1 rc3.d]# chkconfig --list

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

mysql          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off

xinetd based services:
	chargen-dgram: 	off
	chargen-stream:	off
	daytime-dgram: 	off
	daytime-stream:	off
	discard-dgram: 	off
	discard-stream:	off
	echo-dgram:    	off
	echo-stream:   	off
	tcpmux-server: 	off
	telnet:        	on
	time-dgram:    	off
	time-stream:   	off

备注附件:

问题1:

telnet下root登录,密码正确,总提示:Login incorrect
解决1:注释/etc/pam.d/remote的第一行,
即:auth       required     pam_securetty.so

[root@CentOS-Slave1 pam.d]# pwd
/etc/pam.d
[root@CentOS-Slave1 pam.d]# cat remote 
#%PAM-1.0
#telent 远程root登陆允许
#auth       required     pam_securetty.so
auth       substack     password-auth
auth       include      postlogin
………………

问题2:其他机器远程telnet的时候,登陆不成功,可能是防火墙的问题,修改防火墙的设置:
注:netstat –tunlp查看是否23端口被防火墙封掉:
[root@CentOS-Slave1 pam.d]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      5891/./mongod       
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      848/sshd            
tcp6       0      0 :::3306                 :::*                    LISTEN      1997/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      848/sshd            
tcp6       0      0 :::23                   :::*                    LISTEN      1/systemd 
 再使用iptables修改设置,使用service iptables save保存设置,然后service iptables restart重启防火墙:
iptables -I INPUT -p tcp --dport 23 -jACCEPT   
iptables -I INPUT -p udp --dport 23 -jACCEPT   
service iptables save  //保存   
service iptables restart //重启防火墙  
问题new:
[root@CentOS-Slave1 rc3.d]# chkconfig --level 35 xinetd on
Note: Forwarding request to 'systemctl enable xinetd.service'.
[root@CentOS-Slave1 xinetd.d]# service xinetd restart
Redirecting to /bin/systemctl restart  xinetd.service
解决new:
指令可以用,但是新版本系统,指令被(重新定向Redirecting/转发Forwarding)到:
service xinetd restart  ---> systemctl restart  xinetd.service

chkconfig --level 35 xinetd on ---> systemctl enable sshd.service      #对应为disable
$.记住:以后控制服务就用这个指令。
疑问3:telnet登陆主机后会提示Escape character is '^]':
点击提示的意思是按Ctrl + ] 会呼出telnet的命令行,就可以执行telnet命令:
telnet命令:
#close关闭当前连接
#logout强制退出远程用户并关闭连接
#display显示当前操作的参数
#mode试图进入命令行方式或字符方式
#open连接到某一站点
#quit退出
#telnetsend发送特殊字符
#set设置当前操作的参数
#unset复位当前操作参数
#status打印状态信息
#toggle对操作参数进行开关转换
#slc改变特殊字符的状态
#auth打开/关闭确认功能z挂起
#telnetenviron更改环境变量,显示帮助信息
iptables参数:
iptables [-AI 链名] [-io 网络接口] [-p 协议] \
> [-s 来源IP/网域] [-d 目标IP/网域] -j [ACCEPT|DROP|REJECT|LOG]
选项与参数:
-AI 链名:针对某的链进行规则的 "插入" 或 "累加"
    -A :新增加一条规则,该规则增加在原本规则的最后面。例如原本已经有四条规则,
         使用 -A 就可以加上第五条规则!
    -I :插入一条规则。如果没有指定此规则的顺序,默认是插入变成第一条规则。
         例如原本有四条规则,使用 -I 则该规则变成第一条,而原本四条变成 2~5 号
    链 :有 INPUT, OUTPUT, FORWARD 等,此链名称又与 -io 有关,请看底下。
-io 网络接口:设定封包进出的接口规范
    -i :封包所进入的那个网络接口,例如 eth0, lo 等接口。需与 INPUT 链配合;
    -o :封包所传出的那个网络接口,需与 OUTPUT 链配合;

-p 协定:设定此规则适用于哪种封包格式,主要的封包格式有: tcp, udp, icmp 及 all 。

-s 来源 IP/网域:设定此规则之封包的来源项目,可指定单纯的 IP 或包括网域,例如:IP  :192.168.0.100
   网域:192.168.0.0/24, 192.168.0.0/255.255.255.0 均可。
   若规范为『不许』时,则加上 ! 即可,例如:-s ! 192.168.100.0/24 表示不许 192.168.100.0/24 之封包来源;

-d 目标 IP/网域:同 -s ,只不过这里指的是目标的 IP 或网域。

-j :后面接动作,主要的动作有接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)及记录(LOG)
linux运行级别
chkconfig命令提供了一种简单的方式来设置一个服务的运行级别,on和off分别指服务被启动和停止。
运行级别就是操作系统当前正在运行的功能级别。级别是从0到6。
级别3和5上设定服务为“on”
chkconfig --level 35 mysql on
其他级别上设为off 
chkconfig --level 01246 mysql off 
列出服务将会运行的运行级别
#chkconfig --list mysql 
mysql 0:off 1:off 2:off 3:on 4:off 5:on 6:off

Linux下的7个运行级别:
0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。
1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式 登录。
2:多用户状态,没有NFS支持。
3:完整的多用户模式,有NFS,登陆后进入控制台命令行模式。 
4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。eg:在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。 
5:X11控制台,登陆后进入图形GUI模式,XWindow系统。 
6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启。

标准的Linux运行级别为3或5运行级别原理:
1.在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)  
2.在/etc/rc.d下有7个名为rcN.d的目录(N:0,1,2……),对应系统的7个运行级别
3.rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚 本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
4.系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件:对于以K(Kill)开头的文件,系统将终止对应的服;对于以S(Start开头的文件,系统将启动对应的服务
5.查看运行级别用:runlevel
[root@CentOS-Slave1 pam.d]# runlevel
 N 3
[root@CentOS-Slave1 etc]# cd rc.d/
[root@CentOS-Slave1 rc.d]# ls
init.d  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rc.local
[root@CentOS-Slave1 rc.d]# cd rc3.d/
[root@CentOS-Slave1 rc3.d]# ls
K50netconsole  S10network  S64mysql
[root@CentOS-Slave1 rc3.d]# pwd
/etc/rc.d/rc3.d


目录
相关文章
|
2月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
2月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
8天前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
111 11
|
2月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
2月前
|
安全 Ubuntu Linux
如何安装Linux操作系统?
此时,您可以选择重新启动计算机,然后从硬盘上的Linux系统启动。以上是一个大致的安装过程。请注意,不同的Linux发行版可能会在细节上有所差异,因此在进行安装之前,请确保您阅读并理解了相应发行版的安装指南或文档。
|
2月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!
|
2月前
|
Ubuntu Linux Shell
手把手教你安装适用于Linux的Windows子系统——Ubuntu
重启完成,你看看重新打开Ubuntu是不是发生了变化,等待几分钟,系统配置完成,根据提示设置用户名和密码即可
|
2月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。
|
2月前
|
Ubuntu 网络协议 Unix
在虚拟机中安装Linux Ubuntu系统指南
通过点击【浏览】按钮,您可以更改Ubuntu的安装位置。为确保系统稳定,建议避免将Ubuntu安装在C盘。您可以在D盘或其他磁盘中创建一个名为“ubuntu”的文件夹,并选择该文件夹作为安装位置,然后点击【下一步】继续。
|
2月前
|
Ubuntu Linux 数据安全/隐私保护
Windows上快速安装Linux子系统Ubuntu
Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x800701bcError: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernelPress any key to continue... 原因是 wsl1 升级到 wsl2 之后,内核却没有升级。 解决:下载最新的wsl安装包(wsl安装包)