本指南聚焦RHEL7系统环境基础配置与安全设置,涵盖系统初始化优化、网络参数配置(如静态IP、DNS)、用户及权限管理(包括sudoers配置)、官方软件源配置等基础操作;安全设置方面,详解防火墙(firewalld)规则配置、SELinux启用与策略调整、SSH服务安全加固(禁用root登录、密钥认证)、系统日志审计及密码策略规范,通过系统化配置,确保环境稳定运行并提升系统安全性,适用于企业级服务器初始部署与安全加固场景。
Red Hat Enterprise Linux 7(RHEL7)作为企业级Linux发行版,以其稳定性、安全性和丰富的企业支持能力,广泛应用于服务器、云计算及关键业务场景,在RHEL7系统环境中,合理的配置是保障系统稳定运行、提升安全性的基础,本文将围绕用户管理、网络配置、防火墙设置、服务管理、软件包管理及安全加固等核心场景,详细介绍常用配置操作步骤,帮助用户快速掌握RHEL7系统环境设置的关键技能。
用户与权限管理:构建安全的访问体系
用户与权限管理是系统安全的第一道防线,RHEL7通过useradd、groupadd、passwd及sudo等工具实现精细化的用户控制。
创建用户与用户组
-
创建用户组:
若需创建特定功能的用户组(如developers),使用groupadd命令:
sudo groupadd developers
-
创建用户并加入组:
创建用户时可通过-G参数将其加入附加组(如devuser用户,主组为developers,附加组wheel):sudo useradd -m -G developers,wheel -s /bin/bash devuser
参数说明:
-m自动创建家目录,-s指定默认shell(/bin/bash为常用交互式shell)。 -
设置用户密码:
新创建用户需设置密码才能登录:sudo passwd devuser
按提示输入两次密码,建议使用强密码(包含大小写字母、数字及特殊字符)。
配置sudo权限
为普通用户分配sudo权限,可避免直接使用root用户,提升安全性,编辑/etc/sudoers文件(建议使用visudo命令,避免语法错误):
sudo visudo
在文件末尾添加以下内容(允许devuser用户以root身份执行所有命令,需输入密码):
devuser ALL=(ALL) ALL
若需限制命令(如仅允许devuser使用yum和systemctl),可修改为:
devuser ALL=(ALL) /usr/bin/yum, /usr/bin/systemctl
网络配置:确保系统互联互通
网络配置是服务器运行的基础,RHEL7通过NetworkManager管理网络,支持静态IP和动态IP(DHCP)配置。
查看网络接口信息
使用ip addr或ifconfig(需安装net-tools包)查看网络接口名称(如ens33):
ip addr
配置静态IP地址
以ens33接口为例,编辑网络配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 ``` 配置(IP地址、网关、DNS需根据实际网络环境修改): ```ini TYPE=Ethernet BOOTPROTO=static # 静态IP,若使用DHCP则改为dhcp NAME=ens33 DEVICE=ens33 ONBOOT=yes # 开机自动启用网络 IPADDR=192.168.1.100 # 静态IP地址 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 默认网关 DNS1=8.8.8.8 # DNS服务器 DNS2=114.114.114.114
保存后重启网络服务使配置生效:
sudo systemctl restart network
配置主机名
修改主机名以便识别服务器(临时生效,重启后失效):
sudo hostnamectl set-hostname rhel7-server
永久生效需编辑/etc/hostname文件:
echo "rhel7-server" | sudo tee /etc/hostname
防火墙与SELinux:筑牢系统安全屏障
RHEL7默认使用firewalld防火墙和SELinux(安全增强型Linux),二者结合可有效抵御外部攻击。
firewalld防火墙配置
-
查看防火墙状态:
sudo firewall-cmd --state
若未运行,使用
sudo systemctl start firewalld启动,并设置开机自启:sudo systemctl enable firewalld。 -
开放端口/服务:
若需开放HTTP服务(80端口),执行:sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload # 重新加载配置使规则生效
若需开放自定义端口(如8080),执行:
sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload
-
查看已开放规则:
sudo firewall-cmd --list-all
SELinux配置
-
查看SELinux状态:
sestatus
若为
enforcing(强制模式)或permissive(警告模式),表示已启用;disabled为关闭状态。 -
临时关闭SELinux(仅用于调试,不推荐生产环境使用):
sudo setenforce 0
-
永久关闭SELinux:
编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,重启系统生效:sudo vi /etc/selinux/config
SELINUX=disabled
服务管理:控制系统服务运行状态
RHEL7使用systemctl管理系统服务,支持启动、停止、启用开机自启等操作。
常用服务管理命令
-
查看服务状态:
systemctl status httpd # 查看Apache服务状态
-
启动/停止服务:
sudo systemctl start httpd # 启动服务 sudo systemctl stop httpd # 停止服务
-
设置开机自启/关闭自启:
sudo systemctl enable httpd # 开机自启 sudo systemctl disable httpd # 关闭自启
-
重启服务:
sudo systemctl restart httpd
管理开机自启服务
查看所有开机自启服务:
systemctl list-unit-files --state=enabled
禁用不必要的服务(如telnet,已被SSH替代):
sudo systemctl disable telnet.socket
软件包管理:高效维护系统软件
RHEL7使用yum(Yellowdog Updater Modified)管理软件包,支持安装、卸载、更新及依赖解析。
配置yum源
RHEL7需订阅官方仓库才能获取更新,若使用CentOS镜像源,可编辑/etc/yum.repos.d/CentOS-Base.repo文件,替换为国内镜像源(如阿里云、清华大学):
sudo vi /etc/yum.repos.d/CentOS-Base.repo
示例(阿里云CentOS 7镜像源):
[base] name=CentOS-$releasever - Base - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ enabled=1 gpgcheck=0 [updates] name=CentOS-$releasever - Updates - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ enabled=1 gpgcheck=0
更新缓存:
sudo yum clean all sudo yum makecache
软件包操作
-
安装软件包:
sudo yum install httpd # 安装Apache
-
卸载软件包:
sudo yum remove httpd # 卸载Apache(保留配置文件)
-
更新所有软件包:
sudo yum update
-
搜索软件包:
yum search wget
日志管理:追踪系统运行状态
日志是排查故障、审计安全事件的重要依据,RHEL7日志默认存储在/var/log/目录下。
查看系统日志
-
查看实时日志:
tail -f /var/log/messages # 查看系统主日志(实时滚动)
-
查看特定服务日志:
journalctl -u httpd # 查看Apache服务日志
-
过滤日志关键词:
grep "error" /var/log/messages # 搜索包含"error"的日志
配置日志轮转
logrotate工具可自动管理日志文件,避免单个日志文件过大,编辑/etc/logrotate.conf或自定义配置文件(如/etc/logrotate.d/httpd):
sudo vi /etc/logrotate.d/httpd
示例配置:
/var/log/httpd/*log {
daily # 每天轮转
rotate 7 # 保留7个历史日志
missingok # 若日志文件不存在则忽略
notifempty # 若日志为空则不轮转
compress # 压缩历史日志
delaycompress # 延迟压缩(保留前一个未压缩日志)
sharedscripts # 轮转所有日志后执行一次脚本
postrotate
systemctl reload httpd > /dev/null 2>&1 || true
endscript
}
注意事项与最佳实践
- 备份配置文件:修改关键配置(如网络、防火墙、SELinux)前,建议备份原文件(如
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak)。 - 最小权限原则:仅分配必要的用户权限,避免使用root用户进行日常操作。
- 定期更新系统:通过
sudo yum update定期更新系统和安全补丁。 - 监控系统资源:使用
top、htop、df -h等工具监控CPU、内存、磁盘使用情况。
RHEL7系统环境的配置是保障企业系统稳定运行的核心工作,本文从用户管理、网络配置、安全加固到服务与软件包管理,覆盖了日常运维中的常见场景,实际操作中,需结合业务需求灵活调整,并严格遵循安全最佳实践,才能构建出安全、高效、可靠的RHEL7系统环境。
