linux系统中的服务

本文详细介绍如何使用systemd控制服务的启动、停止、重启等操作,并深入探讨SSH服务的安全设置,包括key认证、安全设定及登录信息的添加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制服务

什么是服务?
系统中运行的,对于系统本身没有意义,但是对客户主机有重大意义的程序叫做服务性软件,简称服务。
如何控制服务?
那么,在系统中我们用什么去控制服务呢?系统初始化进程可以对服务进行相应的控制。

pstree		##显示系统中的进程树

在这里插入图片描述
用pstree查看系统中的进程树,可以看到最前面是一个systemd,表示系统的初始化进程。

进程控制命令

systemctl [参数] [服务名称]
参数:
status							##查看服务状态,inactive(不可用),active(可用)
start							##开启服务
stop							##关闭服务
restart							##重启服务
reload							##重新加载服务配置
enable							##设定服务开机启动
disable							##设定服务开机不启动
mask							##锁定服务
unmask							##解锁
list-units						##列出已经开启服务当前状态
list-unit-files					##列出所有服务开机启动状态(disable,enable,static)
list-dependencies				##列出服务依赖
set-default multi-user.target	##设定服务启动级别为多用户模式(无图形)
set-default graphical.target	##设定系统启动级别为图形模式
systemctl status sshd

查看ssh服务的状态
在这里插入图片描述
使用status参数可以查看一个服务的状态,在下面的实验中,我们对服务的状态进行改变后,都可以用这个参数进行查看。

systemctl stop sshd

关闭ssh服务
在这里插入图片描述
可以看到,服务由active变为inactive。
使用start,stop,restart参数分别可以开启,停止,重启服务,使用reload参数可以重新加载服务配置,这个参数一般用在修改配置文件后,并且加载配置时不关闭服务。
在这里插入图片描述
此外,还可以用很多参数对服务进行控制,使用enable和disable设置开机启动或者开机启动;使用mask参数可以锁定一个服务,锁定后该服务将不能正常开启,可以使用unmask解锁。
在这里插入图片描述
列出已经开启服务当前状态。
在这里插入图片描述
列出已经开启服务当前状态。
在这里插入图片描述
列出服务依赖。
此外,还可以设定服务启动级别,用set-default multi-user.target设定服务启动级别为多用户模式(无图形),或者用set-default graphical.target设定系统启动级别为图形模式。

ssh远程服务

上面的实验我们就是用ssh服务举例的,现在我们来详细看看ssh服务吧。
ssh的连接方式:

	ssh	用户名@ip			##文本模式的链接
	ssh -X  用户名@ip		##可以在连接成功后开机图形

在这里插入图片描述
这里是文本模式的连接,如果要连接图形界面,在后面一个[-X]。
需要主义的是第一次连接陌生主机是要建立认证文件,所以会询问是否建立,需要输入yes,再次连接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes。
设置连接名单

vim /etc/hosts.deny
vim /etc/hosts.allow

在这里插入图片描述
在这两个配置文件可以设置具体的连接名单,在deny中设置禁止连接的名单,在allow中设置可以连接的名单。
ssh的key认证

ssh-keygen -f /root/.ssh/id_rsa -N ''

在这里插入图片描述
建立认证信息。
在这里插入图片描述
可以看到在/root/.ssh/下生成了两个文件,其中id_rsa是密钥,id_rsa.pub是公钥。

ssh-copy-id -i /root/.ssh/id_rsa.pub root@

在这里插入图片描述
加密。

vim /etc/ssh/sshd_config

在这里插入图片描述
修改原始认证,把原来的yes改为no。之后重启服务就可以了。
在这里插入图片描述
此时,使用远程连接已经连接不上了,因为我们已经进行了加密,要想使他连上就得给他分发钥匙,这样就能成功连接了。

scp /root/.ssh/id_rsa root@172.25.62.250:/root/.ssh/

在这里插入图片描述
分发钥匙。
在这里插入图片描述
此时用root用户进行登陆成功了,并且不需要密码。

sshd的安全设定

vim /etc/ssh/sshd_config
用vim进入这个文件后就可以更改ssh服务的安全设定。

78 PasswordAuthentication yes|no	##是否允许用户通过登录系统的密码做sshd的认证
48 PermitRootLogin yes|no		##是否允许root用户通过sshd服务的认证。				

第一个我们前面已经见过了,如果后面是yes,那么则允许用户通过登录系统的密码做sshd的认证。反之则不允许。
第二个则是 是否允许root用户通过sshd服务的认证,如果改为no,则不允许使用root用户进行远程连接。
在这里插入图片描述
此时正常使用root用户登陆。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时即使输入密码正确,也不能用root用户进行连接了,但我们还可以使用其他用户进行连接。
在这里插入图片描述
使用student用户登陆成功。
此外,还可以在这个文件里设置黑名单和白名单。

   Allowusers 用户名			##设定用户白名单,白名单中的用户可以使用sshd						
   Denyusers 用户名			##设定用户黑名单,黑名单出现的用户不可以使用sshd

添加sshd登录信息

我们可以在我们的主机上添加一些登陆信息,这样别人在登陆我们的主机的时候可以看到这些登陆信息。

vim /etc/motd				##文件内容就是登录后显示的信息

在这里插入图片描述
在其他主机进行远程连接时就会显示这些信息。
在这里插入图片描述

用户的登录审计

w		##查看正在使用当前系统的用户
	-f	##查看使用来源
	-i	##显示IP

在这里插入图片描述
查看正在使用当前系统的用户。
在这里插入图片描述
查看的时候显示ip,这个命令查看的文件是 /run/utmp

last		##查看使用过并退出的用户信息

在这里插入图片描述
这个命令查看的文件是 /var/log/wtmp

lastb		##试图登录但没成功的用户

在这里插入图片描述
这个命令查看的文件是 /var/log/btmp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值