前言
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说明0target使用该级别会关闭主机1rescue.target单用户模式,不需要密码验证即可登录系统,多用于系统维护2multi-user.target用户定义/域特定运行级别,默认等同于33multi-user.target字符界面的完整多用户模式,大多数服务器主机运行在此级别4multi-user.target用户定义/域特定运行级别,默认等同于35graphical.target图型界面的多用户模式,提供了图形桌面操作环境6reboot.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-monitorLVM管理及监控netfs访问共享文件夹等网络文件系统network配置及使用网卡、网络地址restorecondSELinux安全机制的文件监控和恢复功能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代表系统不同的运行状态,所启用的服务或程序也不一样,例如,对于互联网中的网站、电子邮件等服务器来说,只需要运行在文本模式就可以了,无须启用图形桌面程序
到此这篇关于Linux系统配置(服务控制)详细介绍的文章就介绍到这了,更多相关Linux系统配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!