当前位置: 首页 > news >正文

【linux】校招中的“熟悉linux操作系统”一般是指达到什么程度?

 

这样,你先在网上找一套完整openssh升级方案(不是yum或apt的,要源码安装的),然后在虚拟机上反复安装测试,直到把他理解了、背下来。

面试的时候让你简单说说linux命令什么的,你就直接把这个方案从道到尾讲一下,基础命令一带而过就行,重点的命令解释下。这样你所谓的“熟悉linux操作系统”基本就差不多了。

几乎服务器都有ssh,但凡大企业或重点行业都会漏扫,就需要升级openssh。这个升级方案包含很多基础命令和源码安装过程,代表性比较强,尤其配合telnet登陆升级对安全性也有加分。

 

很多人评论说方案怎么怎么样,升级有没有必要,隐藏端口等等。但请看问题:校招中的“熟悉linux操作系统”一般是指达到什么程度?这个“程度”没有固定指标,那最简单办法就是让结果更直观。就是用知行合一,理论联系实际。方案是否合理、是否浪费服务器资源,与题主想应对校招关系不大。我面试的时候如果面试官让我说几个常用命令,那我就简单深入的讲下这个方案基本是可以过的。现在我把之前用的方案贴出来(centos7.6下openssh8.6p1),想应对面试的可以拿去试试。至于讨论方案是否可行的,可以去技术论坛。

一、升级背景:
漏洞扫描显示linux服务器openssh有高危漏洞,需要进行修复。openssh是远程登录到linux服务器
的重要工具,要修复此漏洞需升级到最高版本(2021年5月中旬最新版本为8.6p1)。二、升级说明:
1、所有升级文件均从官网下载。
2、linux服务器系统为Centos7可适用此方案。
3、Centos7系统需要有yum源,方便解决依赖关系问题。如无法实现,则需上传同系统版本安装映
像文件,作为本地yum源。
4、安装过程受网络影响极大,一旦出现不可抗因素致网络断开,可能会导致升级中断,无法远程
连接,出现此情况需现场人员配合解决。
5、升级过程出现问题需现场人员根据回退方案进行恢复操作。三、升级过程:
(0)安装并启用telnet
1、安装telnet
yum install telnet-server telnet xinet
2、修改配置文件
vi /etc/xinetd.d/telnetdisable= no       //将yes改为no
#让root可以登录
#mv /etc/securetty /etc/securetty.bak
重启服务
service xinetd restart
3、启动相应服务,然后使用telnet登录到服务器
systemctl start telnet.socket
systemctl start xinetd
chkconfig --list
(一)配置yum源
1、上传与生产环境相同的centos7版本的iso和openssh8.6p1的安装包到服务器。2、挂载iso
创建iso存放目录和挂载目录,并上传iso镜像文件到iso存放目录/mnt/iso下
mkdir /mnt/iso 
mkdir /mnt/cdrom
mv CentOS-7.6-x86_64-DVD-1810.iso /mnt/iso/
挂载iso镜像到挂载目录/mnt/cdrom下
mount -o loop /mnt/iso/CentOS-7.6-x86_64-DVD-1810.iso /mnt/cdrom
使用df -h命令查询挂载是否成功
df -h3、备份原本地源
进入repos配置目录
cd /etc/yum.repos.d/
创建备份文件夹
mkdir repobak
移动配置文件到repobak文件夹中
mv *.repo repobak/4、新建光盘源配置文件
vi CentOS-Media.repo
输入下列内容
```
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/gpgcheck=0
enabled=1
```
5、测试安装源
yum clean all
yum makecache
(二)升级openssh版本到8.6p1
1、下载或上传安装包openssh-8.6p1.tar.gz到/root目录下
进入安装包所在文件夹
cd /root/linshi2、关闭Selinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config3、安装依赖关系
yum install -y gcc pam-devel rpm-build wget zlib-devel openssl-devel net-tools
tar -xvf openssh-8.6p1.tar.gz
cd openssh-8.6p14、卸载旧版openssh
rpm -qa |grep openssh
ps:下一步骤为删除原有ssh,但不会影响现在进行的ssh会话,所以整个操作过程不要断开ssh会话,
否则无法再次连接,只能由现场人员进行回退后重新操作(推荐使用telnet进行升级)。
for i in $(rpm -qa |grep openssh);do rpm -e $i --nodeps;done5、设置、编译、安装
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers  --with-ssl-dir=/usr/local/ssl/lib --without-hardening
mv /etc/ssh /etc/ssh.old
cp contrib/redhat/sshd.pam /etc/pam.d/sshd
#编译
make
#安装
make install6、设置自启动
复制启动脚本到/etc/init.d
cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list|grep sshd
sed -i "32a PermitRootLogin yes" /etc/ssh/sshd_config
#重启ssh服务
service sshd restart7、检查升级情况
ssh -V
输出版本号为“OpenSSH_8.6p1”,说明更新成功(三)关闭telnet
关闭服务
systemctl stop telnet.socket
systemctl stop xinetd
#root可以登录
#mv /etc/securetty.bak /etc/securetty卸载telnet
yum remove telnet-server  xinetdps:此时ssh是可以连接状态,不要断开连接防止修改出错无法连接服务器。测试新端口是否打开
telnet 127.0.0.1 22
#出现如下显示表示端口正常打开
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.6
使用远程工具新开窗口,连接新端口测试修改是否成功,如有问题马上使用之前的连接进行检查修改。(四)回退方案
1、挂载iso文件作为yum源
mount -o loop /mnt/iso/CentOS-7.6-x86_64-DVD-1810.iso /mnt/cdrom
2、安装openssh
yum install openssh*
3、启动ssh
service sshd start
4、重新连接ssh,然后从(二)4开始做。

相关文章:

【linux】校招中的“熟悉linux操作系统”一般是指达到什么程度?

这样,你先在网上找一套完整openssh升级方案(不是yum或apt的,要源码安装的),然后在虚拟机上反复安装测试,直到把他理解了、背下来。 面试的时候让你简单说说linux命令什么的,你就直接把这个方案…...

【CSS系列】常用容易忽略的css

user-select user-select 是一个 CSS 属性,用于控制用户是否可以选择文本。通过设置 user-select 的值,可以决定用户是否可以选择元素中的文本,以及如何选择文本。 auto:默认值。浏览器可以选择文本。none:用户不能选…...

Java 数据结构 二叉树(二)红黑树

目录 数据结构图-树 简介 规则 旋转 重新着色 红黑树构建过程 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入工作的漩涡,忘记了停下脚步&#xf…...

React18-完成弹窗封装

弹框封装 用法 // 创建 userRef.current?.open(create) // 修改 userRef.current?.open(edit,values){/* 创建用户 */} <CreateUser mRef{userRef} update{} />组件暴露open方法 文档地址&#xff1a;https://react.dev/reference/react/useImperativeHandle useIm…...

蓝桥杯2024/1/31-----底层测试模板

和之前一样建好工程文件夹&#xff0c;里边包含User&#xff08;放工程文件&#xff0c;mian.c&#xff09;、Driver&#xff08;存放底层文件如Led.c&#xff0c;Led.h等&#xff09; 新建的工程先搭建框架&#xff0c;可以先书写底层函数&#xff08;此次书写了四个函数并包含…...

蓝桥杯备战(AcWing算法基础课)-高精度-乘-低精度

目录 前言 1 题目描述 2 分析 2.1 关键代码 2.2 关键代码分析 3 代码 前言 详细的代码里面有自己的理解注释 1 题目描述 给定两个非负整数&#xff08;不含前导 00&#xff09; A 和 B&#xff0c;请你计算 AB 的值。 输入格式 共两行&#xff0c;第一行包含整数 A&a…...

C++设计模式-里氏替换原则

里氏替换原则定义了继承规范。&#xff08;封装、继承、多态&#xff09; 定义1&#xff1a;类型S对象o1&#xff0c;类型T对象o2&#xff0c;o1换成o2时程序意图不变&#xff0c;那么S是T的子类。 定义2&#xff1a;使用子类不破坏父类的意图。 注意&#xff1a;如果子类不…...

compose LazyColumn + items没有自动刷新问题

val dataLists by remember { mutableStateOf(datas) } 数据更改后列表不刷新问题。 val dataLists by remember { mutableStateOf(datas) } LazyColumn(modifier Modifier.padding(top 5.dp)) {items(dataLists) {....}} 可以将mutableStateOf 改为mutableStateListOf解决…...

Java八大常用排序算法

1冒泡排序 对于冒泡排序相信我们都比较熟悉了&#xff0c;其核心思想就是相邻元素两两比较&#xff0c;把较大的元素放到后面&#xff0c;在一轮比较完成之后&#xff0c;最大的元素就位于最后一个位置了&#xff0c;就好像是气泡&#xff0c;慢慢的浮出了水面一样 Jave 实现 …...

编程笔记 html5cssjs 075 Javascript 常量和变量

编程笔记 html5&css&js 075 Javascript 常量和变量 一、JavaScript 变量二、JavaScript 常量三、示例&#xff1a;小结&#xff1a; 在JavaScript中&#xff0c;变量和常量是用来存储数据的占位符。它们的主要区别在于可变性&#xff1a;变量的值可以改变&#xff0c;而…...

题目 1159: 偶数求和

题目描述: 有一个长度为n(n<100)的数列&#xff0c;该数列定义为从2开始的递增有序偶数&#xff08;公差为2的等差数列&#xff09;&#xff0c;现在要求你按照顺序每m个数求出一个平均值&#xff0c;如果最后不足m个&#xff0c;则以实际数量求平均值。编程输出该平均值序…...

呼吸灯--FPGA

目录 1.breath_led.v 2.tb_breath_led.v 呼吸灯就是从完全熄灭到完全点亮&#xff0c;再从完全点亮到完全熄灭。具体就是通过控制PWM的占空比控制亮灭程度。 绘制PWM波的步骤就是&#xff0c;首先灯是在第一个时钟周期保持高电平熄灭状态&#xff0c;在第二个时钟周期保持1/1…...

MySQL数据库①_MySQL入门(概念+使用)

目录 1. 数据库的概念 1.1 数据库的存储介质 1.2 主流数据库 2. MySQL的基本使用 2.1 链接数据库 2.2 服务器管理 2.3 数据库&#xff0c;服务器和表关系 2.4 简单MySQL语句 3. MySQL架构 4. SQL分类 5. 存储引擎 本篇完。 1. 数据库的概念 数据库是按照数据结构来…...

虚幻UE 特效-Niagara特效实战-魔法阵

回顾Niagara特效基础知识&#xff1a;虚幻UE 特效-Niagara特效初识 其他四篇实战&#xff1a;UE 特效-Niagara特效实战-烟雾、喷泉、 虚幻UE 特效-Niagara特效实战-火焰、烛火、 虚幻UE 特效-Niagara特效实战-雨天、 虚幻UE 特效-Niagara特效实战-眩晕。 本篇笔记记录了使用空模…...

Qt多语言翻译

Qt多语言翻译概述 Qt提供了非常简单易用的多语言翻译机制&#xff0c;其核心类为QTranslator.概括来说就是利用Qt的lupdate工具将项目中所有tr函数包裹的字符串提取到.ts文件中&#xff0c;然后使用Qt Linguist由专门的翻译人员对提取的.ts文件进行逐个单词短语的翻译工作. 翻译…...

Latex学习记录

目录 1.Latex各种箭头符号总结 2.[Latex]公式编辑&#xff0c;编号、对齐 3.Latex公式编号: 多行公式多编号&#xff0c;多行公式单编号 4.LaTex中输入空格以及换行 1.Latex各种箭头符号总结 箭头符号 - ➚ (piliapp.com)https://cn.piliapp.com/symbol/arrow/Latex各种箭头…...

你在做绩效考核,还是绩效管理?二者有什么区别

绩效考核&#xff0c;为什么99%都失败&#xff0c;最后一地鸡毛&#xff1f;败在指标&#xff01; 绩效管理&#xff0c;为什么大多数企业都能成功&#xff0c;而且越做越好&#xff1f;成在目标&#xff01; 丢掉层层指标&#xff0c;人人制定目标&#xff0c;这是企业重新定…...

ele-h5项目使用vue3+vite+vant4开发:第四节、业务组件-SearchView组件开发

需求分析 展示切换动画搜索框输入文字&#xff0c;自动发送请求搜索结果展示搜索状态维护历史搜索展示&#xff0c;点击历史搜索后发送请求历史搜索更多切换动画效果 <script setup lang"ts"> import OpSearch from /components/OpSearch.vue import { ref } f…...

C系列-柔性数组

&#x1f308;个人主页: 会编程的果子君 ​&#x1f4ab;个人格言:“成为自己未来的主人~” 目录 ​编辑 柔性数组 柔性数组的特点 柔性数组的使用 柔性数组的优势 柔性数组 也许你从来没有听说过柔性数组这个概念&#xff0c;但是它确实是存在的&#xff0c;C99中&#…...

【Linux网络编程一】网络基础1(网络框架)

【Linux网络编程一】网络基础1&#xff08;网络框架&#xff09; 一.什么是协议1.通信问题2.协议本质3.网络协议标准 二.协议分层1.为什么协议要分层2.如何具体的分层 三.操作系统OS与网络协议栈的关系1.核心点&#xff1a;网络通信贯穿协议栈 四.局域网中通信的基本原理1.封装…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

边缘计算网关提升水产养殖尾水处理的远程运维效率

一、项目背景 随着水产养殖行业的快速发展&#xff0c;养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下&#xff0c;而且难以实现精准监控和管理。为了提升尾水处理的效果和效率&#xff0c;同时降低人力成本&#xff0c;某大型水产养殖企业决定…...

HTTPS证书一年多少钱?

HTTPS证书作为保障网站数据传输安全的重要工具&#xff0c;成为众多网站运营者的必备选择。然而&#xff0c;面对市场上种类繁多的HTTPS证书&#xff0c;其一年费用究竟是多少&#xff0c;又受哪些因素影响呢&#xff1f; 首先&#xff0c;HTTPS证书通常在PinTrust这样的专业平…...

python读取SQLite表个并生成pdf文件

代码用于创建含50列的SQLite数据库并插入500行随机浮点数据&#xff0c;随后读取数据&#xff0c;通过ReportLab生成横向PDF表格&#xff0c;包含格式化&#xff08;两位小数&#xff09;及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...

iOS 项目怎么构建稳定性保障机制?一次系统性防错经验分享(含 KeyMob 工具应用)

崩溃、内存飙升、后台任务未释放、页面卡顿、日志丢失——稳定性问题&#xff0c;不一定会立刻崩&#xff0c;但一旦积累&#xff0c;就是“上线后救不回来的代价”。 稳定性保障不是某个工具的功能&#xff0c;而是一套贯穿开发、测试、上线全流程的“观测分析防范”机制。 …...