RHEL7系统环境基础配置与安全设置指南

访客
本指南聚焦RHEL7系统环境基础配置与安全设置,涵盖系统初始化优化、网络参数配置(如静态IP、DNS)、用户及权限管理(包括sudoers配置)、官方软件源配置等基础操作;安全设置方面,详解防火墙(firewalld)规则配置、SELinux启用与策略调整、SSH服务安全加固(禁用root登录、密钥认证)、系统日志审计及密码策略规范,通过系统化配置,确保环境稳定运行并提升系统安全性,适用于企业级服务器初始部署与安全加固场景。

Red Hat Enterprise Linux 7(RHEL7)作为企业级Linux发行版,以其稳定性、安全性和丰富的企业支持能力,广泛应用于服务器、云计算及关键业务场景,在RHEL7系统环境中,合理的配置是保障系统稳定运行、提升安全性的基础,本文将围绕用户管理、网络配置、防火墙设置、服务管理、软件包管理及安全加固等核心场景,详细介绍常用配置操作步骤,帮助用户快速掌握RHEL7系统环境设置的关键技能。

用户与权限管理:构建安全的访问体系

用户与权限管理是系统安全的第一道防线,RHEL7通过useraddgroupaddpasswdsudo等工具实现精细化的用户控制。

创建用户与用户组

  • 创建用户组
    若需创建特定功能的用户组(如developers),使用groupadd命令:

    RHEL7系统环境基础配置与安全设置指南

    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使用yumsystemctl),可修改为:

devuser ALL=(ALL) /usr/bin/yum, /usr/bin/systemctl

网络配置:确保系统互联互通

网络配置是服务器运行的基础,RHEL7通过NetworkManager管理网络,支持静态IP和动态IP(DHCP)配置。

查看网络接口信息

使用ip addrifconfig(需安装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
}

注意事项与最佳实践

  1. 备份配置文件:修改关键配置(如网络、防火墙、SELinux)前,建议备份原文件(如sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak)。
  2. 最小权限原则:仅分配必要的用户权限,避免使用root用户进行日常操作。
  3. 定期更新系统:通过sudo yum update定期更新系统和安全补丁。
  4. 监控系统资源:使用tophtopdf -h等工具监控CPU、内存、磁盘使用情况。

RHEL7系统环境的配置是保障企业系统稳定运行的核心工作,本文从用户管理、网络配置、安全加固到服务与软件包管理,覆盖了日常运维中的常见场景,实际操作中,需结合业务需求灵活调整,并严格遵循安全最佳实践,才能构建出安全、高效、可靠的RHEL7系统环境。

💡 温馨提示

📌 阅读须知 Rules & Notice

本站坚持免费分享,致力于为大家提供实用、优质的内容与资源。

🔗欢迎大家收藏与转发,转载请保留本站链接,请勿私自去除版权信息。

📚所有外部整理资源,仅作学习交流使用,请勿用于各类商业用途。

🤝网络相聚本是缘分,希望大家文明交流,理性浏览。

🛠️若发现内容有误或涉及侵权,我们将第一时间处理整改。

💖 感谢每一位朋友的陪伴与支持

✨ 用心分享,一路同行 ✨

目录[+]