Linux系统配置(服务控制)

举报
1风天云月 发表于 2022/02/19 16:53:13 2022/02/19
【摘要】 系统服务控制、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代表系统不同的运行状态,所启用的服务或程序也不一样,例如,对于互联网中的网站、电子邮件等服务器来说,只需要运行在文本模式就可以了,无须启用图形桌面程序

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。