云原生俱乐部-RH124知识点总结(3)

写到这RH124的内容已经过半了,虽然内容不多,但是还是不太好写。因为简单的命令不想写,至于理解上也没什么难度,不过还是要保证整体内容的都要讲到。

这篇文章就把RH124剩下的内容都完结吧,主要还剩下配置和保护SSH、管理网络、安装和更新软件包以及访问Linux系统文件。

管理网络要使用nmcli工具,至于安装和更新软件包则使用的dnf包管理器,访问linux文件系统则是要学习mount挂载。内容也很重要,因为rhcsa认证考试会考。


配置和保护SSH

这里先讲一讲ssh和ssl的区别。ssh是secure shell的缩写,而ssl则是secure sockets layer的缩写,一个工作在应用层,一个工作在传输加密层。ssh通过比对服务器公钥的md5值来验证,而ssl则是通过ca证书来验证对方。

[1]ssh配置文件

家目录下会有一个.ssh目录,下面放着known_hosts和config文件,前者用于存放已经远程登录的主机信息(下次不用比对md5值),后者用于远程登录的预设参数。

当然了还有公私钥文件id_rsa和id_rsa.pub文件,以及作为服务端允许远程登录的authorized_keys,这个文件存放允许登录的主机信息。

其实在/etc/ssh目录下也存放着ssh_known_hosts和sshd_config文件,以及ssh_config文件,sshd_config表示服务端配置文件,ssh_config则表示客户端配置文件(系统全局配置,会被覆盖)。

[2]允许root远程登录

接下来主要是设置root是否允许远程登录,还有root是否允许密码登录,通过/etc/ssh/sshd_config文件来配置。分别修改的是/etc/sshd_config文件(服务端)中的PermitRootLogin还有PasswordAuthentication字段。

分别将这两个字段设置为yes即可,不过还有补充的是,可以通过ssh-keygen生成本地的公私钥,用于客户端ssh连接。注意客户端和服务端的公私钥不是一起的,而是分开的。服务端的公私钥和配置文件(除了authorized_keys文件)都放在/etc/ssh目录下。

然后就是ssh-copy-id将本地公钥上传到远程服务器(authorized_keys)中,第一次需要输入密码,并验证md5值。

管理网络

管理网络的工具有很多,比如ifconfig(属于net-tools工具),以及ip(iproute2工具集,替代ifconfig),当然还有nmcli工具(nmtui图形化工具)。

前两者都是临时修改,对底层网络进行配置,而nmcli则是通过修改配置文件永久修改。

网卡的命名规则:之前都使用ethn来命令网卡,但是后面使用以太网(有线)接口en来替代,无线局域网WLAN接口则用wl替代。

但有时候通过nmcli查看网卡状态总是unmanaged,这时候就只能使用ip或者ifconfig来修改了(内核),具体情况我也不了解,也没办法。

[1]修改主机名

通过host命令可以查看当前主机的主机名,其实是保存在/etc/hostname文件里面的,可以使用hostname name来动态修改。

或者通过hostnamectl hostname name永久修改,最直接的方式就是编辑/etc/hostname文件来修改。不过不建议手动修改,因为/etc/hosts文件中可能有127.0.0.1 hostname这样的条目,也就是本地dns解析。

如果手动修改/etc/hostname文件,会导致他们在之间的关联出现问题,除非全部手动修改。补充一点就是/etc/hosts是本地域名解析文件,在/etc/resolv.conf文件中则保存着DNS服务器的IP地址,同时有domain、search字段。

[2]查看主机网络

可以通过ifconfig命令来查看网络,不过推荐使用ip。ip link show查看网卡的状态,还有MTU值等,ip route show查看路由,ip addr show查看ipv4地址和子网掩码。

如果网卡处于down的状态可以使用ip link set ens-33 up 来启用,当然ip link还能创建虚拟网卡。可以通过ip addr add  192.168.241.141/24 dev ens-33来动态设置IP,注意一个网卡能够有多个IP。

对应的使用该ip addr del来删除指定的IP,还有就是通过ip route add default via 192.168.241.2 dev ens-33来指定下一跳网关IP,通过ip route del删除。

除了设置IP外,可能需要查看端口的占用情况,可以使用netstate -tuln来查看网络情况(only servers),netstate -ta查看所有的。不过在这个我觉得名称并不合适,其实应该叫套接字情况统计,也就是socket statistics。

有个ss工具替代了netstate,使用ss -ta一样能够观察到端口的占用情况。

[3]NetworkManager服务

前面输了半天,总算讲到重点内容了。也就是NetworkManager服务,服务配置文件(也就是网络配置)保存在/etc/NetworkManager/system-connections目录下,并使用nmcli工具来管理。

通过nmcli dev status来查看网卡的状态,通过nmclli con show 则可以查看配置文件的状态(是否启用,--active看启用的)。可以通过`nmcli con mod "配置文件名" 字段 值`来修改配置文件,然后通过nmcli con down 再up "配置文件名"来启用。

或者通过`nmcli con add con-name "配置文件名" ifname ens-33 字段 值`来添加,然后再用nmcli con up "配置文件名"启用。当然,这讲的都是对配置文件的操作,也可以对网卡进行操作。

如使用nmcli dev disconnect ens-33 断开连接,nmcli dev connect ens-33来启用连接。

接下来讲一讲所谓的字段有哪些,主要是ipv4.addresses,ipv4.dns,ipv4.gateway等,注意的是如果是手动配置,需要使用字段ipv4.method manual,否则会有问题。还可以设置connection.autoconnect yes让配置文件自动启用。

安装和更新软件包

这部分又是一堆内容,主要是讲讲包管理器的,从rpm包管理器,到yum包管理器,再到dnf包管理器,一代一代升级。在讲包管理器之前,先理清楚两个词的概念,一个是下载,一个是安装。

下载是将软件包从远程服务器或本地存储(如U盘)​​复制到当前主机,需要通过网络或存储介质进行数据传输。

而安装则是系统集成,下载的软件包里面有可执行文件,库文件以及配置文件等等。安装软件包就是将已下载的软件包​解压、配置并集成到操作系统​中,使其可运行。主要包括文件部署以及环境配置,因为有些软件包可能需要设置环境变量之类的。

[1]包管理器

rpm是本地包管理工具,不处理软件包的依赖,只是将下载好的软件包安装到系统上。

rpm包管理工具并不管理仓库,但是yum和dnf开始管理仓库。yum和dnf能够自动处软件理依赖关系,对于本地没有的软件包则会从仓库中寻找并下载安装。

不过就拿dnf(yum升级版,主要是性能上提升,而不是功能上的扩展)来说,实际上是调用rpm包管理器来实现安装的,但扩展了依赖管理功能以及仓库管理功能。

[2]配置软件仓库

可以直接编写/etc/yum.repos.d目录下后缀名为.repo的仓库文件,文件名倒是不重要,而是文件里面的仓库id重要,使用[reponame]标明。

一个仓库需要有name、baseurl、gpgcheck(gpgkey)、enabled等字段,name一般和仓库id保持一致,如果gpgcheck=1,那么就需要指定gpgkey的路径,一般将enabled设置为1。

使用dnf repolist all查看所有的仓库,使用dnf makecache去验证。还有dnf search、dnf list等等命令。dnf upgrade则是更新系统中所有的软件,从软件仓库中寻找对应的软件,并比较软件版本。

访问Linux系统文件

首先讲讲挂载,和挂载要素。使用mount挂载文件系统,挂载点需要是空目录;使用unmount取消挂载,但是需要确保该挂载点没有进程使用,可以使用lsof来查看该挂载点目录否是有进程占用。

挂载要素指的是设备文件、挂载点、文件系统、挂载选项。设备文件如磁盘分区、U盘等,需要先建立文件系统,再使用mount挂载。使用mount是临时挂载,如果要永久挂载,则需要编辑/etc/fstab文件。

比如/dev/vdb1 /mnt/data ext4 defaults 0 0,defaults是挂载选项,包含rw,suid,dev,exec,auto,nouser,async等默认选项。至于第一个0表示永不备份(禁用dump工具对该分区备份),第二个0表示系统启动时不检查该文件系统。

可以使用df -h查看文件系统的挂载情况,对于未挂载的设备文件,则可以通过lsblk查看(显示挂载和未挂载的设备)。使用lsblk -fp则可以看到设备文件的UUID,现在一般用UUID来挂载而不是设备的路径。

使用free -h则是查看内存的占用情况,包括交换分区的使用情况。要注意swap并不属于文件系统,它既没有目录/文件结构,也不能通过路径访问。文件系统有ext4类型(通用文件系统,稳定),xfs文件系统(高性能),NTFS文件系统(兼容windows,双系统共享分区)等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93631.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装DDNS-go

wget https://github.com/jeessy2/ddns-go/releases/download/v6.12.2/ddns-go_6.12.2_linux_x86_64.tar.gz tar zxvf ddns-go_6.12.2_linux_x86_64.tar.gz sudo ./ddns-go -s install

机器学习深度学习 所需数据的清洗实战案例 (结构清晰、万字解析、完整代码)包括机器学习方法预测缺失值的实践

矿物数据.xls矿物种类:A,B,C,D,E(其中E数据只有一条,无法用于训练,直接剔除)特征:序号 氯 钠 镁 硫 钙 钾 碳 溴 锶 pH 硼 氟 硒 矿物类型此数据有&#xff1…

从基础到架构的六层知识体系

第1层:数学与逻辑基础(The Foundation)📌 计算机技术的根源;为算法分析、密码学、AI等提供理论支撑离散数学:集合、图论、逻辑、递归线性代数:机器学习、图形学基础概率与统计:数据分…

Flask 路由与视图函数绑定机制

Flask 路由与视图函数绑定机制 核心概念 在 Flask 框架中,路由(Route) 是连接 URL 路径与 Python 函数的桥梁,通过 app.route() 装饰器实现这种绑定关系,使得当用户访问特定 URL 时,对应的函数会被自动调用…

Spring 的 setter 注入可以解决某些类型的循环依赖问题

参考:https://blog.csdn.net/weixin_50055999/article/details/147493914?utm_sourceminiapp_weixin Setter 方法注入 (Setter Injection) 在类中提供一个 setter 方法,并在该方法上使用 Autowired、Resource 等注解。 代码示例 import org.springfr…

数据结构代码分享-5 链式栈

linkstack.c#include<stdio.h> #include<stdlib.h> #include"linkstack.h" //1.创建一个空的栈 void CreateEpLinkStack(linkstack_t **ptop) {*ptop NULL; } //2.入栈,ptop是传入的栈针的地址&#xff0c;data是入栈的数据 int pushLinkStack(linkstac…

数学建模Topsis法笔记

评价决策类-Topsis法学习笔记 问题的提出 生活中我们常常要进行评价&#xff0c;上一篇中的层次分析法&#xff0c;通过确定各指标的权重&#xff0c;来进行打分&#xff0c;但层次分析法决策层不能太多&#xff0c;而且构造判断矩阵相对主观。那有没有别的方法呢&#xff1f…

石英加速度计为何成为行业标杆?

在石油钻井、航空航天、工业自动化等领域&#xff0c;高精度、高可靠性的加速度测量至关重要。ER-QA-03F系列石英挠性加速度计凭借其卓越的性能和稳定的表现&#xff0c;成为静态与动态测试的理想选择。自2012年推出以来&#xff0c;该产品已交付数千台&#xff0c;并在石油钻井…

HP Pavilion G6 笔记本使用ventoy启动安装Ubuntu 22.04 桌面版

HP Pavilion G6 笔记本是很老的笔记本了&#xff0c;淘到一款&#xff0c;成色比较新&#xff0c;使用i5 3210 M cpu &#xff0c;内存是2G*2&#xff0c;正好手边有一条4G内存条&#xff0c;替换一条后扩充为6G内存&#xff0c;感觉可以再战10年&#xff01;&#xff08;当然6…

STM32G4 Park及反Park变换(二)实验

目录 一、STM32G4 Park及反Park变换(二)实验 1 Park及反Park变换 1.1 代码 1.2 上位机实验结果 附学习参考网址 欢迎大家有问题评论交流 (* ^ ω ^) 一、STM32G4 Park及反Park变换(二)实验 1 Park及反Park变换 本文介绍了基于STM32G4的Park及反Park变换实验过程。主要内容…

pgsql 如何查询今天范围内的数据(当天0点0分0秒 - 当天23点59分59秒....)

使用 CURRENT_DATE 函数CURRENT_DATE 返回当前日期&#xff08;不含时间部分&#xff09;。当它在查询中与 timestamp 字段比较时&#xff0c;会自动被视为当天的开始&#xff0c;即 YYYY-MM-DD 00:00:00。CURRENT_DATE INTERVAL 1 day 计算出第二天的开始时间&#xff0c;即 …

DRM驱动架构浅析-上(DRM基础概要与U-Boot阶段驱动解析)

一、背景 近期项目吃紧&#xff0c;接了不少调屏相关的需求&#xff0c;期间磕磕绊绊&#xff0c;但总算完成要求。回首过往&#xff0c;调试过多种屏幕&#xff0c;包括LVDS、EDP、MIPI、MI转EDP或是转LVDS、DP以及HDMI等常见屏。在Rockchip平台调外设也有段时间矣&#xff0…

idea中如何设置文件的编码格式

目录 一、全局与项目编码配置 二、新项目预配置 一、全局与项目编码配置 File --> Settings --> Editor --> File Encodings Global Encoding&#xff1a;设置为UTF-8&#xff0c;影响IDE界面及新建文件的默认编码。‌‌Project Encoding&#xff1a;选择UTF-8&am…

2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(六)

本文主要回顾2025年上半年(2025-5-24)系统架构设计师考试上午综合知识科目的选择题,同时附带参考答案、解析和所涉知识点。 2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(一) 2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(…

Ubuntu22系统上源码部署LLamaFactory+微调模型 教程【亲测成功】

0.LLamaFactory LLaMA-Factory 是一个开源的低代码大模型训练与微调框架&#xff0c;旨在简化大规模语言模型&#xff08;LLM&#xff09;的微调、评估和部署流程&#xff0c;帮助开发者和研究人员更高效地定制和优化模型。 1.安装部署 1.1克隆仓库 git clone --depth 1 ht…

打靶日常-sql注入(手工+sqlmap)

小知识: 注入点:在哪里输入sgl指令中的参数 执行点:在那个页面拼接sql指令并发送给数据库执行 回显点:执行的结果显示在哪个页面 sqlmap知识点: 输出等级 -v3 范围0-6 默认1 一般3 考试3 测试等级 --level=1 范围…

绕过服务端文件上传检测:黑名单绕过技术与实战

绕过服务端文件上传检测&#xff1a;黑名单绕过技术与实战文件上传漏洞是Web安全中常见且危害极大的漏洞类型之一&#xff0c;而黑名单机制是最基础的防御手段。本文将深入探讨三种经典的黑名单绕过技术&#xff0c;并提供实战案例与防御方案。引言 文件上传功能是现代Web应用的…

在职老D渗透日记day21:sqli-labs靶场通关(第27a关)get联合注入 过滤select和union “闭合

5.27a.第27a关 get联合注入 过滤select和union "闭合function blacklist($id) { $id preg_replace(/[\/\*]/,"", $id); //strip out /* $id preg_replace(/[--]/,"", $id); //Strip out --. $id preg_replace(/[#]/,"", $id); //Strip …

Git#cherry-pick

场景 项目里有多个分支&#xff0c;在某个分支commit内容想要应用到当前分支 命令 git cherry-pick --helpgit cherry-pick commit-ish&#xff1a;某个其他分支的commit应用到当前所在分支 (默认自动提交)git cherry-pick -n commit-ish&#xff1a;–no-commit(不自动提交)&a…

极海APM32F107V6 gpio模拟串口

一、原理部分 之前用外设都是直接用的硬件自带的库&#xff0c;虽然以前有学过原理和时序&#xff0c;但是因为工作其实也很少会有需要gpio模拟串口的情况&#xff0c;但总会有串口用完&#xff0c;但是需要一个类似打印串口的情况。今天也是开整&#xff0c;然后用硬件的库对…