centos 删除postfix centos添加用户

怎么删除禁用RHEL/CentOS 7上不需要的服务

RHEL/CentOS 7最低的安装版本都是默认安装了许多服务的,比如邮件转移代理daemon, Avahi mdns daemon(multicast Domain Name System)和Chrony服务

Remove Services in CentOS 7

不过也遇到了新的问题.因为有的服务感觉我们是不需要的,所以我们获得会禁用/启用一些服务.

要求

CentOS 7最低安装版

RHEL 7最低安装版

如果你想把最新安装的RHEL/CentOS 7加入到主机去,也就是说一个你不需要执行Postifx MTA daemon的比如运行一个Apache或Nginx网站,或者提供DNS, DHCP, PXE boot, FTP server网络服务器,那么就要安装这些没必要服务,甚至要运行起来.

对外部来说,一个小的安装服务器运行后可能需要ssh进程,方便外部管理.

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

1.安装玩系统后,root登录或者其他非root用户登录切换更新系统,保证你系统的资源是最新的.

# yum upgrade

Upgrade System

2.接下里就是使用yum安装一些必要的东西,比如net-tools(这个软件包比较的旧但的确是一个很好的ifconfig命令), nano文本编辑, wget或curl, lsof(列出打开的文件)和bash-completion,需要执行

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

Install System Utilities

3.现在就可以开始禁用和删除预安装的不想要的服务.首先列出你已经安装或者正在运行的服务,执行netstat命令反向TCP, UDP和监听socket断开.

# netstat-tulpn## To output numerical service sockets

# netstat-tulp## To output literal service sockets

List Enabled Services

4.看到了吧,Postfix是开启的,然后监听的是本地端口25, Avahi daemon绑定到了所有的网络接口,Chronyd服务绑定到了本地和所有的不同端口网络接口.通过下面的命令来删除Postfix MTA服务.

# systemctl stop postfix

# yum remove postfix

Remove Postfix Service

5.接下来删除Chronyd服务,我们用NTP服务替换掉.

# systemctl stop chronyd

# yum remove chrony

Remove Chronyd Service

6.接下来删除Avahi daemon守护进程. RHEL/CentOS 7的Avahi daemon越来依靠网络管理服务了.把Avahi daemon删除之后,可以然系统不会链接任何网络.

注意这步,如果你想要自动配置网络或者你需要通过nmtui网编辑网络接口,那么你需要停止和禁用Avahi进程才能全部删除.

如果你还是想完全删除这个服务的话,你必须手动的编辑网络配置文件/etc/sysconfig/network-scripts/ifcfg-interface_name,然后启动的启用网络服务.

删除Avahi mdns daemon的时候可能会遇到些问题.注意:如果你ssh登录的情况下别删除Avahi daemon.

# systemctl stop avahi-daemon.socket avahi-daemon.service

# systemctl disable avahi-daemon.socket avahi-daemon.service

---------如果你不想删除的话到这里就别执行了---------

# yum remove avahi-autoipd avahi-libs avahi

Remove Avahi Daemon

7.这步只有在你真想删除Avahi daemon服务和你断开网络连接并且你需要手动重新配置网络接口卡的时候.

想使用IPv6和静态IP编辑你的NIC,进入/etc/sysconfig/network-scripts/,打开NIC接口文件爱你(一般来说第一张卡名是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

Configure Network Interface

一些重要的设置说明:

BOOTPROTO–设置为空或者静态IP–适合配置静态IP.

ONBOOT–设置为yes–重启后启动接口.

DEFROUTE–使用#可以注视或者全部删除也行–不要使用默认配置(如果你使用默认的,那你需要给所有网络接口添加一个“DEFROUTE: no”).

8.如果你的机器配置有自动分配IP的DHCP服务器的话,使用下面的读来配置网络接口.

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

Configure DHCP Interface

跟配置静态IP地址一样,假设BOOTPROTO设置到了dhcp,DEFROUTE是注视或者删除了设备并需要重启才行,如果你没有IPv6,你阿九删除或者注视所有含有IPV6的配置.

9.为了让新的接口配置生效,你需要重启电脑或者网络服务,重启之后使用ifconfig或者ip命令来查看你设置的网络是否生效.

# service network restart## Use this command before systemctl

# chkconfig network on

# systemctl restart network

# ifconfig

# ping domain.tld

Confirm Network Settings

10.最后确保你使用了hostnamectl系列命令给系统设置了hosetname名字,查看你的hostname配置使用下面的命令.

# hostnamectl set-hostname FQDN_system_name

# hostnamectl status

# hostname

# hostname-s## Short name

# hostname-f## FQDN name

Setup System Hostname

11.好了,最后使用一下netstat来看看系统允许的是那个网络.

# netstat-tulpn

# netstat-tulp

Verify Running Services

12.处理SSH服务外,如果你的网络使用的是DHCP来拉去静态IP配置,那么需要运行一个DHCP客户端,然后启用UDP端口.

# netstat-tulpn

Verify DHCP Service

13.另外可以选的,你也可以使用ofSockets Statistics命令来打印出正在运行的socket网络.

# ss-tulpn

ss Command to Check Network

14.重启电脑,执行systemd-analize来检测你的系统boot-time是否正常,同时,使用free和Disk Free命令可以用来显示RAM和HDD统计情况,top命令可以来查看系统资源使用情况.

# free-h

# df-h

# top

Chec

RHEL7和CentOS 7都有哪些变化CentOS 7有什么不一样

一、CentOS的Services使用了systemd来代替sysvinit管理

1、systemd的服务管理程序:

systemctl是主要的工具,它融合之前service和chkconfig的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。

systemctl可以列出正在运行的服务状态,如图:

systemd-cgls以树形列出正在运行的进程,它可以递归显示控制组内容。如图:

2、如何启动/关闭、启用/禁用服务?

启动一个服务:systemctl start postfix.service

关闭一个服务:systemctl stop postfix.service

重启一个服务:systemctl restart postfix.service

显示一个服务的状态:systemctl status postfix.service

在开机时启用一个服务:systemctl enable postfix.service

在开机时禁用一个服务:systemctl disable postfix.service

查看服务是否开机启动:systemctl is-enabled postfix.service;echo$?

查看已启动的服务列表:systemctl list-unit-files|grep enabled

说明:启用服务就是在当前“runlevel”的配置文件目录/etc/systemd/system/multi-user.target.wants/里,建立/usr/lib/systemd/system里面对应服务配置文件的软链接;禁用服务就是删除此软链接。如图:

查看了/usr/lib/systemd/system里的文件,语法跟旧版/etc/init.d/里的系统服务脚本完全不同了。

二、修改系统运行级别:

1、systemd使用比sysvinit的运行级更为自由的target替代。第3运行级用multi-user.target替代。第5运行级用graphical.target替代。runlevel3.target和runlevel5.target分别是指向 multi-user.target和graphical.target的符号链接。

可以使用下面的命令切换到“运行级别3”:

systemctl isolate multi-user.target或systemctl isolate runlevel3.target

可以使用下面的命令切换到“运行级别5”:

systemctl isolate graphical.target或systemctl isolate runlevel5.target

2、如何改变默认运行级别?

systemd使用链接来指向默认的运行级别。在创建新的链接前,可以通过下面命令删除存在的链接: rm/etc/systemd/system/default.target

默认启动运行级别3:

ln-sf/lib/systemd/system/multi-user.target/etc/systemd/system/default.target

默认启动运行级别5:

ln-sf/lib/systemd/system/graphical.target/etc/systemd/system/default.target

systemd不使用/etc/inittab文件。

3、如何查看当前运行级别?

旧的runlevel命令在systemd下仍然可以使用。可以继续使用它,尽管systemd使用‘target’概念(多个的‘target’可以同时激活)替换了之前系统的runlevel。

等价的systemd命令是systemctl list-units–type=target

三、其他配置工具:

1、setup和ntsysv工具还是保留了,但是功能已大大减弱,以前ntsysv工具可以控制所有系统服务的自启动,现在只能控制少部分服务。

2、/etc/resolv.conf这个DNS配置文件没变。

3、/etc/sysconfig/network-scripts/ifcfg-ens192网卡配置文件名字和一些选项有所变化。

4、引导方式改用grub2引导,grub2有如下特点:1、模块化设计;2、支持多体系硬件架构;3、支持国际化多语言;4、独立内存管理;5、支持脚本语言。

附:systemd简介

systemd是Linux下的一种init软件,由Lennart Poettering带头开发,并在LGPL 2.1及其后续版本许可证下开源发布。其开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替现在常用的System V与BSD风格init程序。

与多数发行版使用的System V风格init相比,systemd采用了以下新技术:

采用Socket激活式与总线激活式服务,以提高相互依赖的各服务的并行运行性能;

用cgroups代替PID来追踪进程,以此即使是两次fork之后生成的守护进程也不会脱离systemd的控制。

从设计构思上说,由于systemd使用了cgroup与fanotify等组件以实现其特性,所以只适用于Linux。

阅读剩余
THE END