🖥️ 服务器初始化 · 核心配置

📘 实盘部署关键技术与运维实战
🔐 用户权限 · 防火墙 · 时区/NTP · 主机名/hosts

👤 用户与权限管理

  • 最小权限原则:为每个服务创建专用系统用户 (如 nginx, appuser)
  • sudo 授权:通过 visudo 配置精细化命令白名单
  • SSH 密钥认证:禁用密码登录,仅允许 ed25519 密钥
  • umask 安全:设置默认 027,防止新建文件过度开放
命令/操作用途
useradd -m -s /bin/bash app创建普通用户
usermod -aG wheel app加入特权组
chmod 640 /etc/shadow保护密码文件
chown root:app /opt/app目录归属
👤 sudo 🔑
用户 → sudo 授权 → 密钥认证

🔥 防火墙配置

  • iptables:传统静态规则,适合容器/策略路由场景
  • firewalld:动态管理,支持区域 (zone) 和服务定义
  • 生产建议:默认丢弃输入,仅放行必要端口 (22, 80, 443, 服务端口)
# firewalld 常用命令
systemctl enable --now firewalld
firewall-cmd --set-default-zone=drop
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

# iptables 最小规则 (IPv4)
iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
drop public trusted
区域策略:drop → public → trusted

⏰ 时区与 NTP 同步

  • 时区统一:所有服务器使用 UTC 或 Asia/Shanghai,避免日志混乱
  • chrony:现代NTP实现,更精准、抗延迟抖动
  • 硬件时钟:同步 RTC 为 UTC,避免双系统冲突
# 设置时区 (Asia/Shanghai)
timedatectl set-timezone Asia/Shanghai

# 安装并启动 chrony
yum install -y chrony   # 或 apt install chrony
systemctl enable --now chronyd

# 查看同步状态
chronyc sources -v
chronyc tracking
NTP池 chronyd 系统时钟
NTP 授时 → chronyd 校准 → 系统时钟

📛 主机名 & hosts

  • 主机名规范:角色-编号-区域 (如 web-01-cn)
  • /etc/hosts:本地解析,避免DNS依赖,加速内部通信
  • cloud-init:初始化时自动设置主机名和hosts
文件/命令说明
/etc/hostname静态主机名
hostnamectl set-hostname立即修改并持久化
/etc/hosts本地IP ↔ 主机名映射
127.0.0.1 localhost基础回环
# 设置主机名
hostnamectl set-hostname api-gateway-01

# /etc/hosts 示例
127.0.0.1   localhost localhost.localdomain
10.0.1.10   db-master-01
10.0.1.11   db-replica-01
10.0.2.20   redis-sentinel-01

🧩 初始化配置全景

🖥️ 服务器 用户权限 防火墙 时区/NTP 主机名/hosts ✅ 安全合规 可观测 · 可运维
初始化四要素:用户权限 · 防火墙 · 时间同步 · 主机解析