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

商匡云商
Logo
对比商品
  • 合计 (0)
对比
0
购物车