随笔 1(Linux)

开学后事务繁杂,在 Linux 环境配置与运维中踩了不少坑,今天抽空梳理近期遇到的核心问题与解决方案,既是复盘也是知识沉淀,后续会持续更新完善。ok,开写!!!

一、网络配置验证三件套:确保基础连通性

网络配置是服务器运维的第一步,完成 IP 地址、网关、DNS 等配置后,必须通过以下命令验证连通性与配置生效情况:

复制代码
# 1. 验证主机名解析与网络连通性
ping servera
# 若能正常 ping 通,说明 IP 地址配置生效、主机名解析正常;若失败,需排查 IP 配置或 /etc/hosts 解析

# 2. 检查默认网关是否生效
ip route
# 输出中需包含默认路由(default via 网关IP),确认流量能正常出网

# 3. 确认 DNS 配置是否正确
cat /etc/resolv.conf
# 需包含有效的 nameserver 地址,确保域名解析正常

核心意义:这三条命令是排查网络问题的基础,能快速定位IP 未生效 网关配置错误 DNS 解析失败等常见问题,避免后续服务部署因网络问题反复踩坑。

二、SSH 服务安全加固:从配置到生效

SSH 是远程管理服务器的核心通道,通过修改 /etc/ssh/sshd_config 可实现安全加固,常见配置项包括:

复制代码
# 编辑 SSH 配置文件
vim /etc/ssh/sshd_config

关键配置项说明:

调整监听端口 :修改 Port 22 为自定义端口(如 2222),降低暴力破解风险

禁用密码登录 :设置 PasswordAuthentication no,仅允许密钥登录

限制 root 登录 :设置 PermitRootLogin no,禁止 root 用户直接远程登录,需通过普通用户切换

配置生效:修改后必须重启 SSH 服务才能生效:

复制代码
systemctl restart sshd

注意:修改端口前需确保防火墙放行新端口,避免远程连接被阻断。

三、YUM 仓库核心配置:安全与可用性的平衡

在 RHEL/CentOS 系统中,YUM/DNF 仓库配置文件(.repo)中两个关键参数直接影响软件安装的安全性与可用性:

1. gpgcheck:软件包签名校验

复制代码
gpgcheck=1  # 开启签名校验(推荐)
gpgcheck=0  # 关闭签名校验

作用gpgcheck=1 会校验软件包的 GPG 签名,防止恶意篡改或损坏的软件包被安装,保障系统安全;

场景:生产环境必须开启,测试环境可临时关闭以简化流程。

2. enabled:仓库启用开关

​​​​​​​

复制代码
enabled=1  # 启用该仓库
enabled=0  # 禁用该仓库

作用 :控制仓库是否被系统识别和使用,enabled=1 时系统执行 yum install/yum update 会从该仓库拉取软件包;

场景 :可通过切换 enabled 值,灵活管理多个软件源(如官方源、第三方源)。

四、SELinux 核心概念:Web 服务场景下的权限管控

SELinux 是 Linux 系统的强制访问控制(MAC)安全机制,在 Web 服务(httpd)场景中,核心要理解「端口上下文」与「文件上下文」两个概念:

1. 端口上下文:服务端口的权限边界

httpd 服务默认仅能监听 http_port_t 类型的端口(如 80、443、8080),自定义端口(如 82)需手动添加到该类型:

复制代码
# 安装 semanage 工具(若未安装)
dnf install -y policycoreutils-python-utils
# 添加 82 端口到 http_port_t 类型
semanage port -a -t http_port_t -p tcp 82

验证:semanage port -l | grep http_port_t 可查看 httpd 允许监听的端口列表。

2. 文件上下文:Web 根目录的访问权限

/var/www/html 是 httpd 默认网站根目录,该目录下文件必须为 httpd_sys_content_t 类型,否则 httpd 无法读取文件,会返回 403 错误;

手动复制 / 移动文件后,上下文可能丢失,需通过 restorecon 修复:

复制代码
# 递归恢复 /var/www/html 下所有文件的默认上下文
restorecon -Rv /var/www/html/

五、restorecon 命令:修复 SELinux 上下文的利器

restorecon 是解决 SELinux 上下文异常的核心工具,核心作用与参数如下:

核心作用 :恢复文件 / 目录的默认 SELinux 上下文,解决手动复制、移动文件后导致的权限错乱问题;

关键参数

-R:递归处理目录及子目录;

-v:可视化输出修复过程,便于排查问题;

典型场景:Web 服务 403 错误、服务无法读取配置文件等。

六、Web 服务默认约定:RHEL 环境下的 httpd

在 RHCSA 考试或 RHEL 生产环境中,题目或文档中提到的「Web 服务器」默认指 Apache httpd,判断依据:

路径约定:/var/www/html 是 httpd 专属网站根目录,其他 Web 服务(如 Nginx)根目录不同;

服务名约定:启动 / 管理命令固定为 systemctl start httpd,服务名即为 httpd

SELinux 上下文约定:http_port_t/httpd_sys_content_t 均为 httpd 专属的上下文类型。

七、用户与组管理:权限隔离的基础

1. 非交互式 shell:服务账号的最佳实践

​​​​​​​

复制代码
# 创建禁止登录的服务账号
useradd -s /sbin/nologin john

/sbin/nologin:禁止用户交互式登录系统,仅用于运行后台服务,避免账号被恶意利用;

-s 参数:指定用户的登录 shell。

2. 组管理:权限分配的核心

主组 vs 附加组

-g:指定用户的主组(每个用户仅有一个主组);

-G:指定用户的附加组(可加入多个附加组,继承组权限);

修改用户组

​​​​​​​​​​​​​​

复制代码
# 将用户 test 加入 sysmgrs 附加组(-a 避免覆盖原有附加组)
usermod -aG sysmgrs test

验证id 用户名 可查看用户的 UID、GID 及所属组信息。

🆗 今日先整理到这里,后续会继续补充 LVM、定时任务、容器化等更多运维场景的踩坑笔记,逐步完善开学季 Linux 实战知识库~

相关推荐
进击的雷神2 小时前
主办方过滤、展位号模糊提取、多层级官网爬取、缅文编码解码——缅甸塑料展爬虫四大技术难关攻克纪实
网络·爬虫·python
上海云盾-小余2 小时前
CC 攻击与 DDoS 联动防护:如何构建一体化流量清洗架构
网络·安全·游戏·架构·ddos
向往着的青绿色2 小时前
雷池(SafeLine)社区版免费部署教程|从环境检查到防护实操全流程
网络·计算机网络·nginx·网络安全·容器·网络攻击模型·信息与通信
Larry_Yanan2 小时前
Qt网络开发之基于 QWebEngine 实现简易内嵌浏览器
linux·开发语言·网络·c++·笔记·qt·学习
AI+程序员在路上2 小时前
CAN 总线与 Linux SocketCAN C 语言测试程序
linux·c语言·网络
Predestination王瀞潞2 小时前
4.3.3 存储->微软文件系统标准(微软,自有技术标准):VFAT(Virtual File Allocation Table)虚拟文件分配表系统
linux·microsoft·vfat
HalvmånEver2 小时前
Linux:socket套接字编程的基础概念
linux·运维·服务器
Sst的头号粉丝2 小时前
Kubernetes——介绍
云原生·容器·kubernetes
木二_3 小时前
057.Kubernetes cert-manager ACME方案介绍
云原生·容器·kubernetes·证书·cert-manager·证书管理