Linux系统配置(服务控制)

本文涉及的产品
云防火墙,500元 1000GB
简介: 系统服务控制、systemctl、target、常见系统服务、开机自启服务管理、服务管理、防火墙与核心防护、时间管理、SSH服务

前言

Linux操作系统中包含了大量的服务程序,这些服务程序在切换运行级别时根据预设的状态进行启动或终止,其中有不少系统服务可能并不是用户需要的,但是默认也运行了

一、系统服务控制

1、systemctl

在CentOS系统中,各种系统服务的控制脚本默认放在usr/lib/systemd目录下,通过systemctl命令工具可以实现对指定系统服务的控制,语法格式如下

systemctl 控制类型 服务名称

对于大多数系统服务来说,常见的几种控制类型如下

start(启动):运行指定的系统服务程序,实现服务功能
stop(停止):终止指定的系统服务程序,关闭相应的功能
restart(重启):先退出,再重新运行指定的系统服务程序
reload(重载):不退出服务程序,只是刷新配置,在某些服务中与restart的操作相同
status(查看状态):查看指定的系统服务的运行状态及相关信息

对于在实际生产环境中运行的服务器,不要轻易执行stop或restart操作,以免造成客户端访问中断,带来不必要的损失,若只是要为系统服务启用新的配置,可以采用相对温和一些的“reload”参数重新加载配置,而不是生硬地执行“restart”,例如,对于正在为用户提供Web访问的httpd服务,当需要应用新的配置时,建议执行“systemctl reload httpd.service”命令来重新载入配置,而不是执行"systemctl restart httpd.service"

2、target

(1)查看target

明确当前系统所在的target将有助于管理员排除一些应用故障,若未能确知当前所处的目标,可以直接执行“runlevel”命令进行查询,显示结果中的两个字符分别表示切换前的目标和当前的目标,若之前尚未切换过运行级别,则第1列将显示“N”

若用户想查看系统启动时默认运行的target,可以执行“systemctl get-default”命令以显示系统默认的target

运行级别 systemd的target 说明
0 target 使用该级别会关闭主机
1 rescue.target 单用户模式,不需要密码验证即可登录系统,多用于系统维护
2 multi-user.target 用户定义/域特定运行级别,默认等同于3
3 multi-user.target 字符界面的完整多用户模式,大多数服务器主机运行在此级别
4 multi-user.target 用户定义/域特定运行级别,默认等同于3
5 graphical.target 图型界面的多用户模式,提供了图形桌面操作环境
6 reboot.target 重新启动,使用该级别时将会重启主机

(2)切换target

当用户需要将系统转换为其他的target时,可以通过传统的init程序进行,只要使用与运行级别相对应的数字(0-6)作为命令参数即可,或者使用systermctl命令进行目标切换,例如,为了节省系统资源,将系统运行的target由图形模式(5)切换为字符模式(3) ,可以执行“init 3”或“systemctl isolate multi-user. target”命令,将系统切换到字符模式以后,图形桌面环境不再可用,这时按Alt+F7组合键也无法恢复图形桌面环境,需要再次使用图形桌面时,可以执行“init 5”或者“systermctl isolate graphical target”命令切换回去

通过切换target的操作,还可以实现两个特殊的功能,那就是关机和重启,运行级别0和6分别对应关机和重启这两个特殊模式,因此只要执行“init 0”或“init 6”命令就可以实现相应的关机或重启操作了,运行级别0、6又分别对应着systemd的“poweroff.target”和“reboot.target”目标,因此执行“systemctl poweroff”与“systemctl reboot”命令也可以实现相应的关机、重启操作

若要永久切换运行级别,可执行如下命令可将当前系统的开机默认运行级别从graphical.target更改为multi-user.target

systemctl set-default runlevel3.target

使用以下命令让开机界面切换回图形界面模式

systemctl set-default runlevel5.target

3、常见系统服务

在CentOS系统中,默认安装的系统服务多达100多种,这些系统服务为用户提供了丰富的应用服务,只有了解各个系统服务的用途,才能有选择地进行优化操作,实现按需启用Linux服务

CentOS系统中常见的系统服务

服务名称 用途
atd 延期、定期执行任务
bluetooth 发现、认证蓝牙相关设备
crond 按预定周期执行计划任务
irqbalance 多核心CPU处理器的调度支持
kdump 记录内核奔溃时的内存信息
lvm2-monitor LVM管理及监控
netfs 访问共享文件夹等网络文件系统
network 配置及使用网卡、网络地址
restorecond SELinux安全机制的文件监控和恢复功能
rhnsd 访问Red Hat Network,获取通知、提交订阅等
rpcgssd 管理NFS(Network File Systeam,网络文件系统)访问中的客户程序语境
saslauthd 基于文本的身份认证
smartd 监控本地硬盘的状态并发送故障报告
smb 文件共享服务
sshd 提供远程登陆和管理Linux主机的功能
rsyslog 记录内核、系统的日志信息
vsftpd 通过FTP(File Transfer Protocol,文件传输协议)提供文件上传、下载功能

必须强调的是,这些服务到底是选择开启还是关闭,应根据主机的实际功能需求来定,例如,如果当前的Linux主机用来向局域网提供文件共享服务,那么smb服务应开启,而不能关闭

4、开机自启服务管理

Linux操作系统在每次开机后会进入默认的systemd运行目标(如字符模式或图形模式),并运行该目标中默认设为启动的各种系统服务,若要禁止某些系统服务自动运行,可以使用ntsysv或者systemctl工具进行优化

(1)使用ntsysv

ntsysv工具可以在字符模式中运行,为用户提供一个仿图形的交互式操作界面,专门用于集中配置各种系统服务的启动状态,当需要同时设置多个服务的启动状态时,使用ntsysv工具会非常方便,单独执行“ntsysv”命令时仅用于管理当前运行目标中的服务,通过“--level”选项可以对指定运行目标(级别)中的服务进行管理,例如,执行“ntsysv --level 35” 命令可以打开 ntsysv 管理程序,操作时按方向键来选择不同的系统服务,按Space(空格)键设置服务的默认启动状态([*]表示启动, “[]”表示关闭),如果要查看所选定服务的说明信息,按F1键可以获取帮助

(2)使用systemctl

systemctl工具与ntsysv的功能类似,但是systemctl不提供交互式的操作界面,它用于查询或设置系统服务的默认启动状态,当需要设置某一个服务在当前运行目标中的默认启动状态时,使用systemetl工具会更有效率

常用的选项有三种

enable:开机自动启动

disable:开机自动关闭

is-enable:查看开机启动状态

在当前系统下执行“systemctl list-units --type=service”命令可以查看当前系统中所有已激活的系统服务

二、服务管理

1、防火墙与核心防护

通常情况下不建议关闭防火墙与核心防护

防火墙操作

systemctl status firewalld.service 查看防火墙状态
systemctl stop firewalld 关闭防火墙
systemctl start firewalld 开启防火墙
systemctl disable firewalld 开机自动关闭防火墙
systemctl enable firewalld 开机自动启动防火墙

核心防护操作

setenforce 0 临时关闭Selinux防护,重启或关机后失效
vim /etc/sysconfig/selinux 打开selinux文件"修改SELINUX=disable"保存退出,永久关闭Selinux防护
vim /etc/selinux/config 打开config文件"修改SELINUX=disable"保存退出,永久关闭Selinux防护

2、时间管理

安装ntpdate服务

yum -y install ntp ntpdate

设置与网络时间同步

ntpdate 时间服务器(ntp1.aliyun.com ,time.nist.gov,time.nuri.net)

hwclock --systohc 将系统时间写入硬件(BIOS)
timedatectl 查看系统时间
date 查看Centos的当前系统时间命令

3、SSH服务

SSH是较可靠的专为远程登录会话和其他网络服务提供安全性的协议,利用SSH协议可以有效防止远程管理过程中的信息泄露问题,可通过建立SSH连接来远程管理Linux,开启SSH方法如下

vim /etc/ssh/sshd_config

去掉PasswordAuthentication前边的#号,将后面修改为yes

service ssh start 启动SSH服务

netstat -anptu | grep sshd 查看服务进程状态

service ssh status 验证SSH服务状态

update-rc.d ssh enable 设置SSH开机自启

结语

不同的target代表系统不同的运行状态,所启用的服务或程序也不一样,例如,对于互联网中的网站、电子邮件等服务器来说,只需要运行在文本模式就可以了,无须启用图形桌面程序

相关文章
|
2月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
1月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
|
9天前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
2月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
2月前
|
监控 安全 Linux
在Linux中,如何配置VPN服务?
在Linux中,如何配置VPN服务?
|
2月前
|
Ubuntu Linux 应用服务中间件
在Linux中,如何启动、停止或重启服务?
在Linux中,如何启动、停止或重启服务?
|
2月前
|
Prometheus 监控 网络协议
在Linux中,如何监控网络服务的状态和性能?
在Linux中,如何监控网络服务的状态和性能?
|
2月前
|
域名解析 网络协议 Linux
在Linux中,如何配置DNS服务器和解析服务?
在Linux中,如何配置DNS服务器和解析服务?
|
2月前
|
机器学习/深度学习 Ubuntu Linux
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
|
2月前
|
运维 监控 网络协议
在Linux中,如何进行网络服务的监控?
在Linux中,如何进行网络服务的监控?
下一篇
无影云桌面