在RHEL / CentOS 7上禁用和删除不需要的服务最小安装

RHEL / CentOS 7最小安装于服务器带有一些默认的预装服务,如Postfix邮件传输代理守护进程的avahi MDNS守护进程(多播域名系统)和Chrony服务,它负责维护系统时钟。

删除CentOS 7中的服务

现在来到问题..为什么wed需要禁用所有这些服务。 如果他们是预装的? 其中一个主要原因是提高系统安全级别程度,第二个原因是系统最终目的地,第三个是系统资源。

要求

  1. CentOS 7最小安装
  2. RHEL 7最小安装

如果你打算使用新安装的RHEL / CentOS 7至主机,比方说,一个小网站运行在ApacheNginx的 ,或提供如DNS,DHCP,PXE引导,FTP服务器等或其他服务的网络服务不需要运行Postifx MTA守护进程,Chrony或Avahi守护进程,那么为什么我们应该保留所有这些不必要的守护进程安装,甚至在您的服务器上运行。

您的服务器真正需要执行后最小安装将只是一个SSH守护,为了让系统远程登录到运行,在某些情况下,主要对外服务,NTP服务,准确地同步您的服务器的内部时钟外部NTP服务器。

禁用/删除Postfix MTA,Avahi和Chrony服务

1.安装完成后,登录root帐号服务器或具有root权限的用户并进行系统更新,以确保您的系统是最新的最新与所有的包和安全补丁。

# yum upgrade

升级系统

2.下一步将是利用安装yum包管理一些有用的系统工具,如网络工具 (此包提供旧
但良好的ifconfig命令), 纳米文本编辑器,wget卷曲的URL转移,lsof的 (列出打开的文件)和bash补全 ,这自动完成输入的命令。

# yum install nano bash-completion net-tools wget curl lsof

安装系统实用程序

3.现在你可以开始禁用并删除预安装不需要的服务。 首先通过对TCP,UDP运行netstat命令得到你所有启用并运行服务的列表,并听取国家网络套接字。

# netstat -tulpn  	## To output numerical service sockets
# netstat -tulp      	## To output literal service sockets

列表启用服务

4.正如你所看到的Postfix启动并监听本地主机上的端口25,Avahi这个守护进程绑定所有网络接口和Chronyd服务上的不同端口本地主机和所有网络接口绑定。 通过发出以下命令继续执行Postfix MTA服务删除。

# systemctl stop postfix
# yum remove postfix

删除Postfix服务

5.接下来删除Chronyd服务,这将是NTP服务器替换,通过发出以下命令。

# systemctl stop chronyd
# yum remove chrony

删除Chronyd服务

6.现在是时候删除的avahi守护进程。 看起来像在RHEL / CentOS 7 Avahi守护进程是严重紧,取决于网络管理器服务。 执行Avahi守护程序删除可能会使您的系统没有任何网络连接。

所以,要特别注意这一步。 如果您真的需要由网络管理器提供的自动网络配置或您需要编辑您的接口
通过网络nmtui和接口程序,那么你应该只停止并禁用的avahi守护进程,并在所有执行任何清除。

如果你仍想彻底删除此服务,则必须手动编辑位于/ etc / sysconfig / network中的脚本/的ifcfg-接口名称网络配置文件,然后启动并启用网络服务。

发出以下命令删除的avahi MDNS守护 警告 :不要试图删除的avahi守护进程,如果你通过SSH连接。

# systemctl stop avahi-daemon.socket avahi-daemon.service
# systemctl disable avahi-daemon.socket avahi-daemon.service
--------- Stop here if you don't want removal --------- 
# yum remove avahi-autoipd avahi-libs avahi

删除Avahi守护程序

只有当你删除的avahi守护进程和您的网络连接崩溃并需要手动重新配置网络接口卡7,这一步是必需的。

编辑您的网卡使用IPv6静态IP地址 ,去到/ etc / sysconfig / network中的脚本/路径,打开网卡接口文件(通常是第一个卡被命名的ifcfg-eno1677776并已通过网络管理器配置),并使用以下摘录作为指南,以防万一
网络接口没有配置。

IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=none
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
#DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9
IPADDR=192.168.1.25
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

配置网络接口

这里你最重要的设置应该考虑:

  1. BOOTPROTO -设置为none或静态-静态IP地址。
  2. ONBOOT -设置为yes -把你的界面重新启动后。
  3. DEFROUTE -注释语句用或者完全删除-不要使用缺省路由(如果你在这里使用它,你应该加上“DEFROUTE:不”所有网络接口,不作为默认路由)。

8.如果你的基础设施有一个DHCP服务器能自动分配IP地址,请使用以下摘录了网络接口配置。

IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=dhcp
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
##DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9

配置DHCP接口

同使用静态IP地址的配置,保证BOOTPROTO设置为DHCP,DEFROUTE语句注释或删除并且设备被配置为在启动时自动启动。 如果你不使用IPv6只删除或注释所有行包含IPV6。

9.为了应用新的配置,为您的网络接口,你必须重新启动网络服务。 在重新启动网络守护进程用ifconfig
IP地址show命令让你的界面设置,并尝试ping域名,看网络功能。

# service network restart	## Use this command before systemctl
# chkconfig network on
# systemctl restart network
# ifconfig
# ping domain.tld

确认网络设置

10.作为最后的设置确保您使用hostnamectl实用系统主机名设置了一个名字和审查与hostname命令配置。

# hostnamectl set-hostname FQDN_system_name
# hostnamectl status
# hostname
# hostname -s   	## Short name
# hostname -f   	## FQDN name

设置系统主机名

11.这一切! 再次作为最后的试运行netstat命令来一睹哪些服务系统上运行的。

# netstat -tulpn
# netstat -tulp

验证运行服务

12.除了SSH服务器,如果您的网络使用DHCP来拉动态IP配置中,DHCP客户端应该运行,并活跃在UDP端口。

# netstat -tulpn

验证DHCP服务

13.作为一种替代netstat工具可以输出socket统计命令的帮助你运行的网络套接字。

# ss -tulpn 

ss检查网络的命令

14.重新启动您的服务器并运行systemd-analize命令,以确定系统启动时间和性能,同时, 免费使用和磁盘
free命令可以显示内存和硬盘的统计数据和顶级命令来查看最常用的系统资源的顶部。

# free -h
# df -h
# top 

检查系统引导时间

检查内存和磁盘使用情况

恭喜! 现在您有一个干净的最小RHEL / CentOS 7系统环境,安装和运行的服务更少,可用于将来的配置的更多资源。

另请参阅停止和禁用Linux的,从不需要的服务

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏