linux之服务篇

一.服务是什么
服务是服务性程序,为了帮助用户使用与维护电脑,提供服务性手段并支持其他软件开发而编制的一类程序。服务性程序是一类辅助性的程序,它提供各种运行所需的服务。可以在操作系统的控制下运行,也可以在没有操作系统的情况下独立运行,主要有工具软件、编辑程序、软件调试程序以及诊断程序等几种。
cs模型
c表示client
s表示server
二.用什么控制服务
系统中的初始化进程可以对服务进行相应的控制
三.初始化进程()
1.其中的一些简单命令
systemd #系统初始化进程
pstree #显示系统中的进程树(树叶比较多哈哈哈)
在这里插入图片描述
四、进程控制命令
1.systemctl ##这是服务控制的命令
2.systemctl status sshd ##查看sshd服务状态,当显示inactive则不可用,若为active则可用。
在这里插入图片描述
systemctl start sshd ##开启服务
systemctl stop sshd ##关闭服务
在这里插入图片描述
systemctl restart sshd ##重启服务
systemctl reload sshd ##重新加载服务配置
这里的重启服务类似于服务的关闭和再启动是两个命令的结合体,而重新加载服务配置类似于服务不关闭的前提下加载配置和前者有一些小区别,所以在这里提一下
在这里插入图片描述
systemctl enable sshd ##设定服务开机启动
systemctl disable sshd ##设定服务开机不启动
在这里插入图片描述
systemctl list-units ##列出已经开启服务当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态
在这里插入图片描述
(这是开启服务的当前状态,一般进程都有不少的)
在这里插入图片描述
(这是服务开机时的状态)
systemctl mask sshd ##锁定服务
systemctl unmask sshd ##解锁服务
在这里插入图片描述
如果关闭服务后再锁定,这个服务就不能再被启动了
在这里插入图片描述
不过可以用unmask 解锁,解锁后可以被正常启动
systemctl list-dependencies ##列出服务的依赖
在这里插入图片描述
systemctl set-default multi-user.target ##设定系统启动的级别为多用户模式(无图形)
systemctl set-default graphical.target ##设定系统启动级别为图形模式
五、sshd服务
1、sshd简介
sshd=secure shell
ssh username@ip ##文本模式的链接
ssh -X username@ip ##可以在链接成功后开机图形
在这里插入图片描述
在这里插入图片描述
第一个图ssh root@172.25.254.18里没有打开图形,gedit只能在有图形下才能使用,所以在这里就不能发开文件。第二个图里ssh -X root@172.25.254.18打开了图形所以这里可以使用gedit打开文件。

ps: 第一次链接陌生主机是要建立认证文件的
所以,会询问是否建立,需要输入yes
再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes
2、sshd的key认证
ssh-keygen -f /root/.ssh/id_rsa -N “”
N选项是设置认证时不需要再输入认证的密码。在这里插入图片描述
加密服务:
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.28
在这里插入图片描述
分发钥匙: 分发钥匙给客户机
ps:这里客户机需要关闭防火墙,否则客户机的防火墙会阻止服务机的钥匙远程复制到客户机。
systemctl stop firewalld 关闭防火墙

在这里插入图片描述
scp id_rsa root@172.25.254.18:/root/.ssh/
在这里插入图片描述
在这里我们通过scp 的命令将钥匙id_rsa分发给我们的客户机了。
在这里插入图片描述
让我们来测试一下
在这里我们需要明白一点,我们采用sshd服务的目的在于,更换系统默认的远程连接验证方式:即输入系统的密码。所以,我们测试时首先关闭服务机的原始密码验证方式:
vim /etc/ssh/sshd_config ##更改sshd服务的配置文件
在这里插入图片描述
systemctl restart sshd ##重启sshd服务,这里重启的目的是使上一步的更改生效。
用客户机远程登录服务机测试:
在这里插入图片描述
可以看到,服务机关闭ssh远程登录需要输入密码,并且客户机有钥匙的情况下,直接就登录成功了,避免管理员的密码知道的用户过多的情况。
接下来,我们再测试另一台没有钥匙的客户机能否成功登陆。
在这里插入图片描述
可以看到没有钥匙的客户机是无法成功登录的
有钥匙的客户机不需要输入密码可以随便登录服务机,那如果我们不想让有钥匙的客户机登录该怎么办呢?
对于这个问题,我们只需要在服务机上删除authorized_keys文件就可以了。authorized_keys和id_rsa.pub文件的内容其实是一样的,我们删除后如果想让有钥匙的客户机连接,只要把id_rsa.pub复制一份并且重命名成authorized_keys就好了。
在这里插入图片描述
在这里插入图片描述

这里的左边为服务机,右为客户机,服务机删除authorized_keys文件后,有钥匙的客户机不能正常登录了。
在这里插入图片描述
把id_rsa.pub复制一份并且重命名成authorized_keys后,有钥匙的客户机可以正常登录了

3、sshd的安全设定
vim /etc/ssh/sshd_config ##编辑sshd配置文件
systemctl restart sshd.service ##重新加载sshd配置文件
ps:每次更改后都要重启服务才能使更改生效
78 PasswordAuthentication yes|no ##是否允许用户通过系统的密码做sshd的认证
48 PermitRootLogin yes|no ##是否允许root用户通过sshd服务的认证
52 Allowusers student westos ##设定用户白名单,白名单出现,默认不再名单中用户不可以使用sshd
53 Denyusers westos ##设定用户黑名单,黑名单出现,默认不再名单中的用户可以使用sshd
在这里插入图片描述
进行白名单和黑名单测试时,因为我们只给服务机的root用户添加了sshd认证方式,我们用客户机远程登录服务机的其他用户时,仍需要密码的原始认证方式。所以这里我们需要把原始的密码认证打开。
在这里插入图片描述
服务机的白名单有student用户,客户机远程登录服务机的root用户时,虽然会提示输入密码,但是输入正确密码后仍会提示错误。但登录服务机的student用户时,输入密码就成功登陆了。在这里插入图片描述
黑名单出现student用户,客户机远程登录服务机的student用户时,虽然会提示输入密码,但是输入正确密码后仍会提示错误。但登录服务机的root用户时,就成功登陆了。

白名单出现的用户可以远程登录主机,其他均不能成功登陆。黑名单出现的用户不能远程登录主机,其他均可以成功登陆。从系统安全的角度出发,白名单的安全级别高于黑名单。

4、添加sshd登录信息
vim /etc/motd ##文件的内容就是登录后显示的信息
在这里插入图片描述

5、用户的登录审计
w ##查看正在使用当前系统的用户
-f ##查看使用来源
-i ##显示ip
在这里插入图片描述
w 查看的其实是/run/utmp 文件的内容,w可以查看哪些用户或者主机登录了我们的服务器。我们把/run/utmp 文件里面的内容清空再查看就查不到了。
last ##查看使用过并退出的用户信息
在这里插入图片描述
last查看的是/var/log/wtmp 文件的内容,在之前我先清空了文件内容,再远程登录并退出,last成功显示了使用过并退出的用户的有关信息。
lastb ##试图登录但没有成功的用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值