Linux系统服务管理 服务管理

Linux独立服务管理

启动服务

systemctl start 服务名称.service

设置开机自启动

systemctl enable 服务名称.service

停止开机自启动

systemctl disable 服务名称.service

查看服务当前状态

systemctl status 服务名称.service

重新启动服务

systemctl restart 服务名称.service

查看所有已启动的服务

systemctl list-units --type=service

Linux基于xinetd服务的管理

从守护进程的概念可以看出,对于系统所要管理的每一种服务,都必须运行一个监听某个端口连接所发生的守护进程,这意味着资源浪费。为了解决这个问题,Linux引进了"网络守护进程服务程序"的概念。也就是xinted(extended internet daemon)。xinetd能够同时监听多个指定的端口,在接受用户请求时,它能够根据用户请求的端口的不同,启动不同的网络服务进程来处理这些用户请求。可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给哪个程序处理,然后启动相应的守护进程。xinetd无时不在运行并监听它所管理的所有端口上的服务。当某个要连接它管理的某项服务的请求到达时,xinetd就会为该服务启动合适的服务器。

Xinetd托管服务

Xinetd 托管服务。又名:超级守护进程,可以把一些小服务放到xinetd里进行托管。拖管后的好处就是可以使用xinetd强大的参数来控制这些服务,并且增强安全性。(比如一个小服务没有一些控制功能,但支持xinetd拖管,你就可以拖管并使用xinetd的参数来控制它)。

以sshd为例,把sshd拖管到xinetd下,sshd服务也有配置文件,为/etc/ssh/sshd_config;但此配置文件功能有限,可以选择拖管sshd服务,来实现额外的功能。

托管前先关闭ssh本身提供的服务

#关闭ssh服务
[[email protected] ~]# systemctl  stop  sshd.service
#设置为开机不启动(注意:如果你关闭xinetd之后,需要把ssh服务重新启动,不然你不能通过ssh远程连接)
[[email protected] ~]# systemctl  disable  sshd.service                 

开始配置ssh被xinetd托管,默认是没有这个文件的,需要创建。

[[email protected] ~]#vim  /etc/xinetd.d/ssh

编辑内容:

# 代表被托管服务的名称
service ssh
{
   # 是否禁用托管服务,no表示开启托管服务
   disable = no
   # 设置失败时,UID添加到系统登记表
   log_on_failure += USERID
   # socket连接方式,这个是属于本地方式,对ssh无效
   socket_type = stream
   # 设置服务启动时需要的参数
   server_args = --daemon
   # 每秒25个入站连接,如果超过限制,则等待30秒。主要用于对付拒绝服务***
   cps = 25 30
   # 代表ssh走的是tcp协议连接
   protocol = tcp
   # 是否并发,这个参数对ssh无效
   wait = no
   # 以什么用户进行启动
   user = root
   # 被托管服务的启动脚本
   server = /usr/sbin/sshd
   # 启动脚本的参数
   server_args = -i
}

重新启动xinetd服务

[[email protected] ~]# systemctl  restart  xinetd.service
#查看ssh是否被托管
[[email protected] ~]# lsof -i:22  

查看22端口的进程,由sshd变为了xinetd就表示你拖管成功了

可以对ssh 添加对IP或网段的访问控制功能,这个是ssh服务本身不具备的功能(除非写iptables)

[[email protected] ~]#vim  /etc/xinetd.d/ssh

添加对IP或网段的访问控制功能

# 代表被托管服务的名称
service ssh
{
   # 是否禁用托管服务,no表示开启托管服务
   disable = no
   # 设置失败时,UID添加到系统登记表
   log_on_failure += USERID
   # socket连接方式,这个是属于本地方式,对ssh无效
   socket_type = stream
   # 设置服务启动时需要的参数
   server_args = --daemon
   # 每秒25个入站连接,如果超过限制,则等待30秒。主要用于对付拒绝服务***
   cps = 25 30
   # 代表ssh走的是tcp协议连接
   protocol = tcp
   # 是否并发,这个参数对ssh无效
   wait = no
   # 以什么用户进行启动
   user = root
   # 被托管服务的启动脚本
   server = /usr/sbin/sshd
   # 启动脚本的参数
   server_args = -i
   # 表示允许1网段访问
   only_from = 192.168.1.0/24
   # 表示只能1网段访问,但1网段里的20和200这两IP不能访问
   no_access = 192.168.1.20 192.168.1.200
   # 最大连接数为3
   instances = 3
   # 每个源IP只能有1个连接
   per_source = 1
   # 只能9:00到18:00才能ssh连接
   access_times = 9:00-18:00
   # 指定日志记录到/var/log/xinetd_ssh.log里
   log_type = file /var/log/xinetd_ssh.log
   # 指定ssh的连接端口为7722
   port = 7722
}

添加完成后重新启动xinetd服务

Linux源码包服务管理

源码包服务中所有的文件都会安装到指定目录当中,所以服务的管理脚本程序也会安装到指定目录中。源码包服务的启动管理方式就是在服务的安装目录中找到管理脚本,然后执行这个脚本。我们可以査看每个服务的说明文档 (一般是 INSTALL 或 READEM),在这个说明文档中会明确地告诉大家服务的启动脚本是哪个文件。

源码包服务被服务管理命令识别

在默认情况下,源码包服务是不能被系统的服务管理命令所识别和管理的,但是如果我们做一些设定,则也是可以让源码包服务被系统的服务管理命令所识别和管理的。

Centos 系统服务脚本目录 /usr/lib/systemd/ 下有系统(system)和用户(user)之分。如需要开机没有登陆情况下就能运行的程序,则保存在系统服务 /usr/lib/systemd/system/下,如果需要用户登录后才能运行的程序,则保存在用户/usr/lib/systemd/user/ 下。服务以.service结尾。

这边以mysql 为例:

1.建立服务文件

[[email protected] ~]# vim /lib/systemd/system/mysql.service 

编辑内容如下:

[Unit]
Description=mysql
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
#ExecReload=/usr/local/mysql/support-files/mysql.server restart
#ExecStop=/usr/local/mysql/support-files/mysql.server stop
#PrivateTmp=true

[Install]
WantedBy=multi-user.target

说明:

  • [Unit]:服务的说明
  • Description:描述服务
  • After:描述服务类别
  • [Service]服务运行参数的设置
  • Type=forking是后台运行的形式
  • ExecStart为服务的具体运行命令
  • ExecReload为重启命令
  • ExecStop为停止命令
  • PrivateTmp=True表示给服务分配独立的临时空间
  • [Install]服务安装的相关设置,可设置为多用户

注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

把服务添加到linux系统的自启动服务列表中去,使用命令:

[[email protected] ~]# systemctl enable mysql.service

查看是否添加成功,使用命令:

[[email protected] ~]# systemctl status mysql.service

原文地址:https://www.cnblogs.com/lizhouwei/p/10092175.html

时间: 2024-10-14 19:15:26

Linux系统服务管理 服务管理的相关文章

linux系统 网络服务管理配置

7.0版本服务管理 采用了systemd的管理思想 /usr/lib/systemd/system 查看系统中所有服务的开机启动状态 如:systemctl list-unit-files grep ssh 服务的命名方式:进程名.service 配置时只需要写进程名即可 例:sshd.service #systemctl restart sshd   重启服务 #systemctl start sshd     开启服务 #systemctl stop sshd      停用服务 #syst

Linux基础四(服务管理)

目录 一.简介与分类 1.系统的默认运行级别 2.服务的分类 3.服务与端口 二.服务管理 1.RPM包服务管理 2.源码包服务管理 三.服务管理总结 一.简介与分类 1. 系统的运行级别 1.1 默认运行级别 系统运行级别 0 - 关机 1 - 单用户模式,主要用于系统修复,类似于windows的安全模式 2 - 不完全的命令行模式,不含NFS服务(NFS是Linux之间进行文件共享的服务) 3 - 完全的命令行模式,即标准的字符界面 4 - 系统保留 5 - 图形模式 6 - 重启 1.2

linux系统管理之服务管理,ipv6,tcp_wrappers练习

服务管理 ipv6 tcp_wrappers

linux系统管理之服务管理,ipv6,tcp_wrappers

服务管理 1.查看所有unit file单个文件的服务状态 systemctl list-unit-files systemctl list-unit-files --type serbice( 类型筛选) 2.配置yum仓库的小知识点 file:// 本地文件 /mnt 根下面的mnt 3.服务状态 查看状态 systemctl status 服务名字 开启服务 systemctl start 服务名字 关闭服务 systemctl stop 服务名字 下次打开仍然生效 systemctl e

linux进程和服务管理

进程管理 1.查看进程 ps -ef ps -aux top -d 1     时间间隔1秒 默认3秒 -p XX  查看指定PID的进程信息 2.结束进程       服务管理   CentOS 7.0  1.启动关闭 systemctl start httpd.service    启动服务 systemctl stop  httpd.service    关闭服务 systemctl restart  httpd.service 重启服务 systemctl reload   httpd.

Linux中的服务管理

RPM包默认安装的服务 查看已安装的服务: chkconfig --list 默认安装位置: /etc/init.d 启动脚本 /etc/sysconfig 初始化环境配置文件 /etc  配置文件位置 /var/lib 数据 /var/log  日志 /etc/xinetd.conf  配置文件 /etc/xinetd.d  启动脚本 启动: 利用绝对路径: /etc/init.d/独立服务名 start|stop|restart|status 利用service命令: service 独立服

Linux系统配置及服务管理_第01章系统部署

大家好,我是"霸王卸甲"是一个新博主,从今天开始每日在这里为大家更新一篇关于linux方面的文章,如果有问题或者文章有错误的地方请大家私信我,谢谢. 一.GNU/Linux 的历史:自由软件之父 Richard M. Stallman 1984 GNU Copyleft OpenSource Free GPL 既然是历史,就让它成为历史吧......但请记住他们:Linux 之父 林纳斯?本纳第克特?托瓦兹(Linus Benedict Torvalds, 1969年~ ),著名的电脑

Linux系统配置及服务管理——权限管理

1.基本权限UGO ? 1.权限设置对象:属主(u) 属组(g) 其他人(o) 所有人(a(u+g+o)) ? 2.权限类型:读:r=4 写:w=2 执行:x=1 数字加减总和得到的数字, ? 就得到了文件的两 种及其两种以上权限.比如数字5,即得到了"读"和"写"的权限 ? 3.设置权限 1.更改权限 ? (a)使用符号 ? 语法:chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x) 文件/目录 ? 4.增加执行权限:#chmod u+x

centOS7服务管理与启动流程

centOS7服务管理与启动流程 centOS7启动流程 systemd简介 unit对象 unit类型 特性 service unit文件格式 service unit file文件通常由三部分组成 unit段的常用选项 Service段的常用选项 Install段的常用选项 管理服务 管理系统服务 服务查看 chkconfig命令的对应关系 其他命令 服务状态 systemctl示例 运行级别 运行级别与target的对照 运行级别的切换 CentOS7引导顺序 设置简单的内核参数 简单的启