CentOS 配置方法
CentOS 系统基础配置完全指南
本教程面向初次接触 CentOS 的用户,以 CentOS 7 为主要操作环境,同时标注与 CentOS Stream 8/9 的差异。你将系统掌握网络、软件源、防火墙、用户权限及安全加固等核心配置方法。
前置环境准备
开始配置前,建议完成最小化安装的 CentOS,并确保拥有 root 权限或 sudo 能力。
-
确认系统版本
cat /etc/centos-release输出示例:
CentOS Linux release 7.9.2009 (Core) -
更新系统至最新
sudo yum update -y # CentOS 7 sudo dnf update -y # CentOS Stream 8+ -
安装常用工具
sudo yum install -y vim wget curl net-tools
网络配置
正确配置网络是所有服务的基础。CentOS 默认使用 NetworkManager 管理连接,也可使用传统的 network 脚本。
动态IP(DHCP)配置
大部分云环境默认已启用 DHCP,需修改网卡配置确保开机自启:
- 查看网卡名称:
ip addr # 常见名称如 eth0、ens33、enp0s3 - 编辑对应配置文件
/etc/sysconfig/network-scripts/ifcfg-<网卡名>:TYPE=Ethernet BOOTPROTO=dhcp NAME=eth0 DEVICE=eth0 ONBOOT=yes - 重启网络服务:
sudo systemctl restart network # CentOS 7 sudo systemctl restart NetworkManager # CentOS Stream
静态IP配置
若需固定IP地址,修改同一配置文件:
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
之后重启网络服务。使用 ip addr 和 ping 验证连通性。
主机名设置
sudo hostnamectl set-hostname myserver.example.com
# 立即生效,同时更新 /etc/hostname
在 /etc/hosts 中添加解析记录:
127.0.0.1 localhost myserver.example.com
YUM/DNF 软件源配置
CentOS 通过 yum (v7) 或 dnf (v8+) 管理软件包。默认官方源速度可能较慢,推荐更换为国内镜像。
更换为阿里云镜像(CentOS 7)
- 备份原有 repo 文件:
sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.bak - 下载阿里云仓库配置:
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo - 清理缓存并生成新缓存:
sudo yum clean all sudo yum makecache
CentOS Stream 8/9 用户可使用阿里云 Stream 源:
sudo dnf install -y epel-release # 先装 EPEL
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-*.repo
安装 EPEL 扩展源
sudo yum install -y epel-release # CentOS 7
完成后可安装更多软件,如 htop、fail2ban 等。
防火墙与 SELinux 基础配置
CentOS 7+ 默认使用 firewalld 作为防火墙,取代了 iptables。
firewalld 常用命令
- 查看状态:
sudo systemctl status firewalld - 开启/停止/重启:
sudo systemctl start|stop|restart firewalld - 查看已激活规则:
sudo firewall-cmd --list-all - 开放服务(如 HTTP):
sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --reload - 开放自定义端口(如 8080/TCP):
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent sudo firewall-cmd --reload
SELinux 快速设置
SELinux 提供强制访问控制。初学者可能遇到权限问题,可临时调整为宽容模式或按需修改上下文。
- 查看当前状态:
getenforce - 临时关闭(重启失效):
sudo setenforce 0 - 永久禁用(需重启):
编辑
/etc/selinux/config,设置SELINUX=disabled - 更安全的做法是保留 enforcing 模式,仅对特定资源修改上下文,例如:
sudo semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?" sudo restorecon -Rv /web
用户与权限管理
创建新用户并授予 sudo 权限
-
添加用户:
sudo useradd -m user1 sudo passwd user1 -
将该用户加入 wheel 组(拥有 sudo 权限):
sudo usermod -aG wheel user1CentOS 7 默认
wheel组具有 sudo 能力,确保/etc/sudoers中包含:%wheel ALL=(ALL) ALL -
验证:
su - user1 sudo whoami # 应输出 root
SSH 密钥认证(提高安全性)
生成密钥对(本地客户端):
ssh-keygen -t rsa -b 4096
将公钥复制到服务器:
ssh-copy-id user1@你的服务器IP
完成后再禁用密码登录(见 SSH 安全章节)。
SSH 安全加固
编辑 SSH 配置文件 /etc/ssh/sshd_config,修改以下参数后重启服务 sudo systemctl restart sshd。
关键安全参数
# 禁用 root 直接登录
PermitRootLogin no
# 禁用密码认证(仅密钥登录)
PasswordAuthentication no
# 更改默认端口,减少扫描
Port 2222
# 限制登录用户
AllowUsers user1
# 空闲超时退出
ClientAliveInterval 300
ClientAliveCountMax 0
注意:修改前请确保已配置好密钥登录并测试成功,以免被锁在服务器外部。防火墙也需要同步放行新端口。
系统更新与维护
定期更新系统
# CentOS 7
sudo yum update -y
# CentOS Stream
sudo dnf update -y
可安装 yum-cron(CentOS 7)实现自动更新:
sudo yum install -y yum-cron
sudo systemctl enable yum-cron --now
配置文件 /etc/yum/yum-cron.conf 中可设置更新类型。
日志查看与基础排错
- 系统日志:
tail -f /var/log/messages - 安全日志:
tail -f /var/log/secure - 服务状态:
systemctl status 服务名 - 端口监听:
ss -tulnp
时间同步
确保服务器时间准确:
sudo yum install -y chrony # 若未安装
sudo systemctl enable chronyd --now
# 检查同步状态
chronyc tracking
附加:搭建 Web 服务(示例)
以安装 Nginx 为例,快速验证配置成果:
- 安装 Nginx
sudo yum install -y nginx # 需先安装 EPEL 或官方源 - 启动并设置开机自启
sudo systemctl start nginx sudo systemctl enable nginx - 防火墙放行 HTTP
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload - 访问
http://你的服务器IP应出现 Nginx 欢迎页。
结语
通过本指南你已掌握 CentOS 基础配置的核心技能。系统管理是一个不断积累的过程,建议结合具体场景逐步深入,并始终保持安全第一的原则。更多免费教程可关注后续更新。
提示:生产环境中请在测试环境下验证所有配置变更,确保业务连续性。