自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 Linux iptables 防火墙深度解析

本文详细介绍了Linux系统中iptables防火墙的基础配置及高级NAT应用。内容涵盖iptables的基本组成(链、表、匹配条件、动作)、常用命令操作、规则设置与优化,以及持久化保存规则的方法。针对NAT技术,重点讲解了SNAT、DNAT和MASQUERADE的原理与配置实例,包括如何实现内网访问外网、端口转发及动态IP地址转换。通过具体案例演示了如何在不同场景下应用iptables规则,如限制并发连接、按时间段放行流量等。此外,还介绍了自定义链的创建与管理,以及如何通过扩展模块实现更复杂的匹配条件。

2025-10-22 21:22:56 750

原创 深度解析 DNS服务:从基础原理到自建 DNS 服务器完整指南

本文全面解析了DNS域名解析的核心原理与技术实现,涵盖DNS基础知识、域名层级结构、根域名服务器作用及解析流程。深入探讨了DNS查询类型(递归查询与迭代查询)、解析类型(正向解析与反向解析)及hosts文件的作用。进一步介绍了如何在公有云上配置DNS解析,以及使用dig、host、nslookup等命令检测DNS服务。文章还详细阐述了自建DNS服务的方法,包括bind软件的安装配置、主从同步、子域委派及视图功能实现智能DNS解析。

2025-10-16 21:06:12 695

原创 SSH服务、sudo授权、PAM模块及时间同步服务全解析

本文详细介绍了SSH服务的公钥交换和加密通讯原理,演示了openssh服务的安装与配置,并提供了ssh命令和scp、rsync工具的使用示例。同时,解析了基于用户和密码及基于密钥的SSH登录验证方式,并实现了多机间的密钥免密登录。文章还探讨了sudo授权的配置方法,包括用户和组的权限管理。PAM模块的工作原理和常用模块如pam_nologin、pam_limits的配置也进行了深入分析。最后,详细介绍了时间同步服务chrony的配置和使用,以及如何实现私有时间服务。

2025-10-12 16:37:49 479

原创 OpenSSL 加密算法与证书管理全解析:从基础到私有 CA 实战

本文详细介绍了加密算法、CA证书管理以及OpenSSL工具的使用。首先讲解了对称加密、非对称加密(含RSA/DSA)、单向哈希算法(如MD5/SHA系列)及其综合应用,包括数据加密、数字签名及混合方案。接着分析了中间人攻击风险,阐述了CA和证书如何通过数字签名确保通信安全,并介绍了SSL/TLS协议及HTTPS的实现原理。最后聚焦OpenSSL,涵盖Base64编码、常用命令(如单向哈希dgst、密码生成passwd、随机数生成rand、密钥对管理genrsa/rsa),以及通过openssl ca命令建立

2025-10-07 22:23:52 729

原创 Linux进程管理与计划任务指南

本文全面解析Linux进程管理与性能监控工具,涵盖进程树、进程信息、优先级调整、负载查询、CPU及内存统计、磁盘与网络I/O监控等。同时,介绍了一次性任务at和周期性任务cron的配置方法,助力系统管理员高效管理Linux系统。

2025-10-03 20:51:37 708

原创 深入解析Linux网络属性:从网卡配置到高级路由管理

本文深入探讨了Linux网络属性及相关配置,包括网卡命名规则的变更及如何将新规则改回传统命名方式。详细阐述了Red Hat和Ubuntu系列系统的网络配置方法,涵盖静态IP、DHCP分配等。同时,介绍了网络配置命令如ifconfig、route、ip等的使用,以及多网卡绑定(bonding)和网络组(teaming)的实现方式,提升网络冗余与吞吐量。最后,文章还讨论了网桥配置及网络测试诊断工具如fping、tcpdump、nmap的应用,为Linux网络管理提供了全面指导。

2025-10-01 22:16:17 873

原创 Linux磁盘管理全攻略:LVM+RAID+文件系统指南

本文聚焦Linux磁盘存储与文件系统管理,涵盖磁盘设备识别、分区策略(MBR/GPT)及文件系统类型(ext4/XFS)的选择与操作。重点解析LVM逻辑卷管理器的分层架构与动态调整技术,通过pvcreate、vgextend等命令实现存储空间的灵活扩展与迁移。结合mdadm工具演示软件RAID(0/1/5/10)的配置方法,对比不同级别的性能与冗余特性。同时介绍Swap分区优先级设置、移动介质挂载规范及磁盘故障修复工具(如fsck)。内容兼顾理论深度与实操指导,适用于系统优化与高可用存储场景。

2025-09-28 19:14:58 862

原创 实现私有 yum 仓库搭建

本文详细阐述了在同一系统不同版本的服务器与客户端之间搭建私有 YUM 仓库的完整流程。服务端通过关闭防火墙、启用 Web 服务(如 httpd),并利用同步工具从远程仓库下载软件包至本地目录,生成仓库元数据后通过 Web 共享;客户端则配置指向服务端的 YUM 源地址,完成仓库指向并验证可用性。文章还介绍了同步工具(如 reposync)及元数据生成工具(如 createrepo)的使用方法,适用于内网环境下的软件包集中管理与离线安装场景。

2025-09-26 17:46:28 346

原创 《从入门到精通:Shell脚本开发指南》

本文系统梳理了Shell脚本编程的核心知识与实战技巧,涵盖编程基础(程序组成、算法、数据结构)、脚本语法(变量、运算、条件测试、流程控制)、函数应用、数组与字符串处理等关键内容。通过丰富的代码示例与调试方法讲解,帮助读者快速掌握Shell脚本的自动化任务处理能力,包括文件打包、系统监控、运维自动化等场景。文章还深入探讨了Shell脚本的安全配置(如set命令)、高级变量用法(间接引用、类型声明)及信号捕捉等进阶技能,助力开发者编写高效、健壮的脚本程序。

2025-09-23 22:09:48 901

原创 *Linux - 文件查找与打包压缩(纯干货版)

本文介绍了Linux系统中文件查找、压缩解压缩和打包解包三部分内容。文件查找部分详细讲解了locate和find命令的使用方法,包括非实时查找和实时查找的区别、查找条件设置和结果处理。压缩解压缩部分涵盖多种工具如compress、gzip、bzip2、xz和zip的操作,重点说明了不同压缩程序的参数选项和适用场景。打包解包部分主要介绍tar命令的用法,包括创建归档、追加/删除文件、查看内容和解包操作,并讲解了如何结合不同压缩工具进行打包压缩。此外还介绍了split命令用于文件分割的操作方法。

2025-09-22 20:41:58 370

原创 Linux文本处理全栈指南:三剑客详解

本文全面解析了Linux下文本处理工具与正则表达式的应用,涵盖VIM编辑器的高效使用技巧、grep文本搜索的深度实践、sed流编辑器的强大替换与编辑能力,以及awk文本分析工具的详细操作指南。通过理论讲解与实战案例结合,帮助读者掌握文本处理的核心技能,包括文件内容查看、分页显示、行前后内容提取、文本排序、去重及比较等,适合Linux系统管理员及开发者提升工作效率。

2025-09-21 21:50:09 1003

原创 *Vim文本编辑器-使用指南

摘要:本文详细介绍了Vim编辑器的使用方法和技巧,包括基础操作、三种模式转换、扩展命令模式功能、光标跳转、编辑命令、查找替换、多窗口操作等。重点讲解了Vim的启动参数、文件比较、二进制编辑等特殊功能,以及可视化模式和多窗口模式的高级应用。文章还包含Vim工作特性的定制方法,如显示行号、语法高亮、Tab设置等配置选项,并提供了大量实用命令示例,帮助用户高效使用Vim进行文本编辑。

2025-09-20 19:53:32 284

原创 *Linux - 用户和权限管理(完整版)

本文深入解析Linux系统的用户与权限管理机制。Linux通过用户/组ID实现多用户隔离,root用户拥有最高权限。权限分认证、授权、审计3A模型,文件权限含rwx,分属主、组、其他三类角色。用户管理命令(useradd/usermod等)与组管理命令(groupadd/groupmod等)实现精细控制。默认权限受umask影响,SUID/SGID/Sticky为特殊权限,可细化进程或目录的权限继承与文件删除控制。ACL提供更细粒度权限设置,突破传统rwx权限体系限制。掌握这些机制可高效管理系统安全。

2025-07-04 14:31:34 908

原创 *Linux -文件管理和IO重定向(完整版)

本文详述Linux文件系统管理,涵盖FHS标准目录结构、文件类型与元数据管理。通过ls、stat等命令查看文件信息,支持通配符批量操作。重点介绍文件创建、复制、移动、删除及硬/软链接特性,解析inode与数据块存储机制。深入讲解IO重定向技术,包括标准输出/错误重定向(>、>>、2>&1)、标准输入重定向(<、<<)及管道(|)实现命令间数据传递,结合tr、tee等命令演示高级用法,助力高效文本处理与系统管理。

2025-06-03 22:34:22 1029

原创 *Linux - 基础 (笔记)

本文详解Linux基础操作与帮助体系,涵盖用户类型(root与普通用户)、终端类型(控制台/虚拟终端/伪终端)及Shell交互接口。重点介绍命令执行机制(内部命令与外部命令区分、Hash缓存表)、命令别名与格式规范,结合ls、free等实例演示硬件信息查看。深入讲解帮助系统:whatis/whereis快速定位命令,--help与man手册获取详细用法,info文档支持超文本跳转,辅以TLDR工具简化帮助输出。最后介绍会话管理工具(screen/tmux)实现多窗口复用,助力高效终端操作。

2025-05-25 22:35:48 350

原创 *C语言 —— 操作符详解(纯干货版)

struct Student //代码1int age;struct Point //代码2int x;int y;struct Node //代码3int data;//结构体嵌套初始化int main()//初始化struct Student s1 = { "Coder4_", "男", 20, "20240405" };//指定顺序初始化。

2024-04-05 21:00:32 1393 1

原创 *C语言 —— 递归(纯干货版)

事实上,我们看到很多问题是以递归的形式进行解释的,这是因为它比非递归的形式更加清晰,但是这些问题的迭代实现往往比递归实现效率更高。函数不返回,函数对应的栈帧空间就⼀直被占用,所以如果函数调用中存在递归调用的话,每⼀次递归函数调用都会开辟属于自己的栈帧空间,直到函数递归不再继续,开始回归,才逐层释放栈帧空间。所以如果采用函数递归的方式完成代码,递归层次太深,就会浪费太多的栈帧空间,也可能引起栈溢出(stack overflow)的问题。递归是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。

2024-03-20 17:38:31 683 1

原创 *C语言 —— 函数(纯干货版)

ret_type fun_name(形式参数)...⚪ ret_type:函数返回类型⚪ fun_name:函数名⚪ 括号中放的是形式参数⚪ {...}:括起来的是函数体如果我们将函数的定义放在函数的调用后边,会发生什么?因为C语言编译器对源代码进行编译的时候,是从第一行往下扫描的,当遇到函数调用的时候,并没有发现前面有该函数的定义,因而出现警告!如何解决上述此类问题?答:在函数调用之前先声明一下该函数,声明函数只要交代清楚:函数名,函数的返回类型和函数的参数。

2024-03-09 21:03:03 1218 1

原创 *C语言进阶 —— 数组 (纯干货版)

⚪ 数组中存放的是一个或者多个数据,但是数组元素个数不能为0。⚪数组中存放的多个数组,类型是相同的。二、一维数组的创建和初始化。

2024-02-23 00:27:58 1225 1

原创 * 猜数字游戏(C语言)

写一个猜数字游戏:1. 电脑自动生成1~100的随机数2. 玩家猜数字,猜数字过程中,根据猜测数据大小给出反馈,直到猜对,游戏结束。:要想完成猜数字游戏,首先得产生随机数,猜数字采用分支结构判断猜的结果。

2024-02-21 22:02:04 1094 1

原创 *C语言进阶 —— 循环(纯干货版)

for和while在实现循环的过程中都有初始化、判断、调整这三个部分,但是for循环的三个部分非常集中,便于代码的维护,而如果代码较多的时候while循环的三个部分就比较分散,所以从形式上for循环要更优一些。因此,想在某种条件下终止循环,则可以使用break来完成我们想要的效果。其实和while循环中的break一样,for循环中的break也是用于终止循环的,不管循环还需要循环多少次,只要执行到break,循环就彻底终止。当打印完1,2,3,4,当i=5时,循环在break处终止,不再打印,不在循环。

2024-02-02 14:27:21 3906 2

原创 *C语言进阶 —— 分支(纯干货版)

开始的代码排版,让else和第一个if语句对齐,让我们误以为else是和第一个if匹配的,当if语句不成立的时候,自然想到的就是执行else子句,打印ugly,但实际上else是和第二个if进行匹配的,这样后边的if...else...语句就是嵌套在第一个if语句中的,如果第一个if语句就不成立,嵌套if和else就没机会执行了,最终什么都不会输出。而全局变量不初始化,它的值将是固定值为0。注:在C语言中,0为假,非0为真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果不是0,则语句执行。

2024-01-29 00:25:57 1428 1

原创 *C语言入门 —— 数据类型与变量(纯干货版)

⚪整型//短整型//整型int//长整型long [int]//长长整型 C99中引入⚪ 浮点型float //单精度浮点型double //双精度浮点型⚪ 字符型char[signed] char //有符号的unsigned char //无符号的⚪布尔类型C语言开始并没有为布尔值单独设置一个类型,而是用整数0表示假,非0值表示真。在C99中也引入了布尔类型,专门表示真假。_Bool布尔类型在使用时得包含头文件:。

2024-01-24 23:46:15 1357

原创 *C语言入门 —— 常见的概念(纯干货版)

拓展拓展编译器C语言是一门,C语言源代码都是文本文件,文件本身无法执行,必须通过翻译和的链接,生成,可执行文件才能执行。C语言代码是放在 .c 为后缀的文件中的,要得到最终运行的可执行程序,中间要经过编译和链接这两个过程。一个工程一般都会有多个源文件组成;每个源文件(.c)单独经过编译器处理生成对应的目标文件(.obj文件);多个目标文件和库文件经过链接器处理生成对应的可执行程序(.exe文件)。

2024-01-22 23:47:35 827 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除