热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统配置(服务控制)详细介绍_Linux

大家好,本篇文章主要讲的是Linux系统配置(服务控制)详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收

前言

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

一、系统服务控制

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


推荐阅读
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 本文记录了在Windows 8.1系统环境下,使用IIS 8.5和Visual Studio 2013部署Orchard 1.7.2过程中遇到的问题及解决方案,包括503服务不可用错误和web.config配置错误。 ... [详细]
  • 深入探讨:Actor模型如何解决并发与分布式计算难题
    在现代软件开发中,高并发和分布式系统的设计面临着诸多挑战。本文基于Akka最新文档,详细探讨了Actor模型如何有效地解决这些挑战,并提供了对并发和分布式计算的新视角。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 在尝试使用 Android 发送 SOAP 请求时遇到错误,服务器返回 '无法处理请求' 的信息,并指出某个值不能为 null。本文探讨了可能的原因及解决方案。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
  • 本文介绍了一个使用Spring框架和Quartz调度器实现每周定时调用Web服务获取数据的小项目。通过详细配置Spring XML文件,展示了如何设置定时任务以及解决可能遇到的自动注入问题。 ... [详细]
author-avatar
pz51747pz你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有