Linux 系统管理:系统管理员完整指南

最后更新: 1月14,2026
  • Linux 在服务器领域以其稳定性、安全性和灵活性脱颖而出,使其成为关键基础设施的理想基础。
  • 有效的管理需要掌握用户、权限、网络、服务、安全、监控和备份等方面的知识。
  • systemd、Cockpit、Glances、Resti 或 Lynis 等工具有助于进行高级管理和系统加固。
  • 接受系统和网络方面的专门培训,可以为从事 Linux 管理员、DevOps 或网络安全专家等职业创造机会。

Linux系统管理

Linux系统管理已成为任何现代IT部门的关键任务。无论是小型VPS服务器还是拥有数百台机器的大型数据中心,总有人在幕后确保系统的稳定性、安全性和性能。

如果您每天都使用终端,或者刚刚开始接触服务器,本指南将为您提供完整的路线图:从用户和组管理、网络配置和服务,到监控、RHEL 中的 Web 控制台,以及成为一名合格的 Linux 系统管理员需要掌握的概念。如果您需要更多命令,请查看我们关于掌握终端的技巧和快捷键。

什么是Linux?管理Linux又包含哪些内容?

Linux 是一款开源操作系统,其内核由 Linus Torvalds 于 1991 年创建。如今,它已无处不在:网络服务器、超级计算机、路由器、安卓手机、云容器等等。它在企业环境中广受欢迎,源于其稳定性、安全性和灵活性,使其成为关键基础设施的首选。

当我们谈到Linux系统管理时,我们指的是确保系统持续、快速、安全地运行所需的所有任务。这包括从磁盘和文件系统的初始安装和分区,到配置服务、加强安全防护、监控资源以及解决不可避免的各种问题。

Linux 系统管理员负责确保服务器可用性、备份功能正常、用户体验流畅,并防止局部故障演变成大范围宕机。在专注于 Linux 的主机托管公司中,这些专业人员负责搭建基础设施、配置网络、管理硬件,并解决从简单的 Web 服务问题到复杂的虚拟化迁移等各种问题。

Linux管理员的主要职责

Linux 系统管理员的日常工作种类繁多,但通常都围绕着一些从一开始就应该明确的基本职责展开。

  • 系统安装和配置发行版选择(Ubuntu、Debian、RHEL、CentOS Stream、Rocky 等) 更佳的布局,保障您的安全分区、软件包安装、systemd 配置和基本服务。
  • 用户及权限管理:账户创建和删除、组分配、文件权限控制、使用强密码,以及在大型环境中与 LDAP 或 IdM 等目录服务集成。
  • 服务和守护进程管理使用诸如以下工具启动、停止、重启和监控诸如 Web 服务器、数据库、DNS、电子邮件、文件服务等服务: systemctl.
  • 系统安全性防火墙配置、补丁管理、SELinux 或 AppArmor 的使用、安全审计以及加固最佳实践的应用。
  • 监控和性能:监控 CPU、内存、磁盘和网络使用情况,检测瓶颈,监控进程并规划资源扩展。
  • 备份与恢复:备份策略的设计、加密复制工具的使用、恢复测试以及这些任务的自动化。
  • 自动化和脚本创建 shell 脚本并使用计划任务 cron 或者使用编排工具来减少人工操作和错误。
  • 远程管理:通过 SSH、Web 控制台(如 Cockpit)和其他集中式管理解决方案访问服务器,这些解决方案通常集成到云端。

Linux 中的用户和组管理

Linux 是一个多用户系统,其中每个账户都有明确定义的角色。管理的核心在于理解管理员用户与其他普通账户之间的区别,以及用户组及其相关配置文件的作用。

在任何 Linux 系统中,你都会找到一个名为“特权帐户”的账户。 根超级用户帐户拥有进行任何更改的权限:修改内核配置、删除系统文件、创建或删除用户、管理服务等等。正因为这种无限的权限,建议仅在绝对必要时才使用此帐户,其余时间使用普通用户帐户。 sudo 用于特定任务。

标准用户帐户是指那些 最终用户使用 或者系统服务需要这些帐户才能正常运行。这些帐户默认情况下没有管理员权限,因此无法更改全局设置或轻易破坏系统。要授予受控权限,需要使用授权用户列表。 /etc/sudoers 或者放在包含的文件中,这样就不必与多人共享 root 密码,从而避免重大风险。

Linux 中的组用于对用户进行分组,并简化文件、目录和资源的权限分配。每个用户都有一个主组,并且可以属于一个或多个辅助组。通常,主组的名称与用户名称相同,并且默认情况下与该用户创建的文件关联。

主组决定用户生成的文件默认分配到哪个组,而辅助组则允许…… 颁发额外许可证 访问共享目录、运行特定服务或使用设备。系统已预定义了某些功能的组(例如: sudo, adm, www-data等等),管理员决定如何将它们组合起来。

用户和组的基本文件和命令

主要账户和群组信息存储在纯文本文件中,系统会持续读取这些文件。 /etc/passwd 定义用户、其 UID、主 GID、主目录和启动 shell,而 /etc/group 它收集群组、群组 ID 和成员列表。该文件用于提高密码安全性。 /etc/shadow只有 root 用户才能访问,其中存储了哈希值和过期数据。

  Linux 6.14:新功能、安全改进和硬件支持

要管理帐户和群组,需要掌握一些特定的工具。以下是执行基本任务最常用的命令:

命令 主要功能
useradd Crear una nueva cuenta 系统中的用户,包括其 UID、主目录和关联的 shell。
userdel 删除用户 (可选)您的主目录和相关文件。
passwd 设置或更改密码 管理现有用户并管理其过期时间。
groupadd 创建一个新组 并为其分配一个组标识符(GID)。
groupdel 删除群组 当不再需要或已用完时。
whoami 显示当前用户 您登录终端所使用的设备。

更高级的配置是建立在这些基础之上的,例如使用 LDAP 或 IdM 目录服务 通过诸如以下模块集中管理用户和组身份验证 nsswitch 以及 PAM,以便同一组凭据可以在组织内的多个 Linux 服务器上使用。

Linux 中的网络配置和连接

Linux 的一个优点是,它允许您通过终端轻松配置网络,既可以检查当前配置,也可以修改 IP 地址、掩码、网关,或者通过几个命令诊断连接问题。

要查看 TCP/IP 网络的配置方式,我们可以使用 经典工具 如 ifconfig (在仍然可用的系统上)或更现代的命令,例如 ip addr输出结果显示接口及其关联的 IP 地址(字段)。 INET)、网络掩码,以及视情况而定的广播、接口状态等参数。

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255

在这个例子中, eth0 它是网络接口 我们据此采取行动;我们建立一个 IP 地址、一个 /24 子网掩码和一个广播地址。在较新的系统中,趋势是使用 ip 对于这项任务来说,概念是一样的:将地址静态分配给相应的接口。

在 Linux 系统中,检查与其他机器的连接性最基本的工具是 ping 命令。ping 命令会向目标机器发送 ICMP 数据包,并显示响应时间。一个典型的例子是:

ping 127.0.0.1

结果显示是否有响应、数据包大小和延迟。TTL (生存时间)字段反映了数据包的最大存活时间:TTL 值越低,表示数据包经过的跃点数越多。现代系统中常见的初始值通常为 64 或 128。

要分析连接和端口,可以使用诸如此类的工具。 netstat (越来越多地被……取代) ss),这允许 查看活动连接、统计信息和路由 网络。通过其不同的选项,管理员可以查看监听端口、已建立的连接、每个接口的流量或路由表。

netstat 选项 描述
netstat -a 它会显示所有连接和端口。无论它们处于激活状态还是待机状态。
netstat -e 教授统计学 接口的传入和传出数据包。
netstat -f 显示完全限定域名 而不仅仅是 IP 地址。
netstat -n 显示数字地址和端口无需解析名称。
netstat -o 包含流程标识符 与每个连接相关联。
netstat -p X 按协议筛选 具体协议(TCP、UDP、tcpv6、tcpv4 等)。
netstat -q 监听端口和非监听端口列表 与系统连接。
netstat -s 按协议分组统计 para un análisis más detallado。
netstat -r 显示路由表 现行系统。
netstat -t 过滤 TCP 连接可用于检查下载或活动会话。
netstat -x 它提供有关 NetworkDirect 连接的信息。在那些使用它们的环境中。

在更广泛的网络管理框架内,Linux 管理员必须了解子网、网络掩码、路由和名称解析等概念,以及管理 DNS、DHCP 或代理服务器等服务(当它们是基础架构的一部分时)。

资源和过程监控

当服务器运行缓慢或出现异常行为时,首先需要了解发生了什么。Linux 提供了一系列实用程序,用于实时监控 CPU、内存、磁盘和网络使用情况,并识别哪些进程消耗的资源最多。

经典工具,例如 top 及其增强型替代方案 htop 显示一个 系统的动态视图:平均负载、总内存和可用内存、交换空间使用情况、按 CPU 或 RAM 消耗排序的进程列表等。通过这些接口,可以向进程发送信号(例如,终止已挂起的进程)或更改其优先级。

为了获得更全面的视图,可以使用Glances等实用程序,它们可以在单个屏幕上显示 CPU、内存、磁盘、网络、进程和服务的状态,甚至允许您通过 Web 界面远程监控多台服务器。它可以通过类似以下的软件包轻松安装:

sudo apt install glances

当需要更专业化的方法时,可以使用诸如以下工具: ps,允许 列出活动进程 包含详细信息:进程 ID (PID)、用户、CPU 和内存使用情况、执行时间、完整命令等。一种常见的模式是将以下信息组合起来使用: ps 同 grep 按特定进程筛选,并在系统运行的所有进程中快速找到它。

在生产和高性能环境中,可以运用更高级的监控解决方案,这些解决方案能够收集历史指标、生成图表和发送警报:Prometheus、Grafana 等系统或提供集中式仪表板的集成,使您能够观察性能随时间的变化,并在用户注意到问题之前预测问题。

Linux 中的服务、systemd 和管理

Linux 服务器的许多神奇之处都在于其后台服务(也称为守护进程)。这些程序不显示图形界面,通常也不直接与用户交互,但它们提供诸如网页服务、数据库管理、电子邮件处理和网络文件共享等功能。

  GCC 16 对嵌入式系统的 Picolibc 支持

在大多数现代发行版中,启动和服务管理由systemd负责。该启动系统控制服务器启动时启动哪些服务、如何管理它们的依赖关系以及如何监控它们以确保它们保持活动状态或在发生故障时重新启动。

MGI 基本命令 有关 systemctl 每位管理员都应该知道以下内容:

  • 启动服务: systemctl start nombre_servicio例如,启动一个 Web 服务器。
  • 停止服务: systemctl stop nombre_servicio如果需要进行维护或由于检测到问题而停止运行。
  • 重启服务: systemctl restart nombre_servicio配置更改后非常有用。
  • 康普罗巴尔国家: systemctl status nombre_servicio它会显示该程序是否处于活动状态、最近的错误以及相关日志。
  • 启动时启用: systemctl enable nombre_servicio这样守护进程就可以随系统自动启动。
  • 启动时禁用: systemctl disable nombre_servicio如果我们不再希望它自动启动。

在诊断特定服务正在使用的端口时,您可以采用以下方法: ss这是现代的替代方案 netstat一个典型的命令是:

ss -tulpn | grep nombre_servicio

这将列出与目标服务关联的正在监听的 TCP 和 UDP 套接字以及进程 ID (PID)。这可以快速确认,例如,Web 服务器是否确实正在监听端口 80 或 443,以及是否存在与其他进程的冲突。

Linux 安全:原则和工具

一名合格的Linux系统管理员绝不能忽视安全性。系统的每一层——用户、服务、网络、应用程序——都必须遵循最小权限原则进行配置,以最大限度地减少攻击面。

从根本上讲,这包括使用强密码、仔细管理文件权限(用户、组和其他用户的读取、写入和执行权限)、限制使用 SSH 密钥进行远程访问、禁用直接 root 登录以及限制允许连接的来源。

此外,诸如以下机制 防火墙 (例如, firewalld o iptables)控制哪些端口开放、入侵检测系统、敏感数据加密,以及在许多商业环境中,使用 SELinux 或 AppArmor 来强制执行访问控制,从而使漏洞难以被利用。

为了定期进行安全审计,可以使用Lynis等工具扫描系统并生成报告,其中包含改进配置的具体建议。安装后,通常需要运行类似这样的命令:

sudo apt install lynis
sudo lynis audit system

每次更新和补丁都会修复系统存在的缺陷和漏洞,这些缺陷和漏洞可能成为攻击者的入口点。忽视看似微不足道的漏洞是不可取的:许多严重的安全事件都源于被忽略的粗心细节。

备份和服务连续性

如果没有周全的备份策略,任何管理员都无法高枕无忧。备份的作用在于保护关键数据免受硬件故障、人为错误、勒索软件攻击或各种灾难的影响。

制定完善的备份计划意味着要决定备份哪些数据、备份频率、存储位置以及如何验证数据的完整性。通常的做法是将本地备份与外部或云存储相结合,并使用加密技术来保护传输中和静态存储的信息。

Restic等现代工具提供了一种强大的解决方案,用于创建加密、压缩且高效的备份,并支持多种目标位置:从本地磁盘到 S3 等服务或外部提供商的存储。安装通常非常简单:

sudo apt install restic

除了创建备份之外,定期测试恢复流程也同样重要,以确保在出现问题时,数据能够顺利恢复。许多管理员会将部分测试恢复纳入日常维护任务中。

RHEL 8 中的 Web 控制台:使用 Cockpit 进行图形化管理

尽管 Linux 中几乎所有安装后任务都可以通过终端完成,但像 Red Hat Enterprise Linux 8 这样的系统也具有基于 Cockpit 的基于Web 的管理控制台,旨在方便管理和监控本地系统和网络中的其他服务器。

此 Web 控制台使用与命令行相同的系统 API,因此在终端中所做的任何更改都会立即反映在 Web 界面中,反之亦然。可执行的任务包括服务管理、日志监控、查看性能图表以及基本的网络、用户和存储配置。

要使用它,需要 启用服务 cockpit.socket它会启动一个 Web 服务器。许多 RHEL 8 Cockpit 安装包中都预装了该程序,但如果没有,只需安装该软件包即可。 cockpit 然后启用套接字。如果您使用的是自定义防火墙,则需要 firewalld必须添加该服务。 cockpit 打开端口 9090 并允许其他计算机访问。

可以通过网页浏览器访问控制台,只需输入服务器地址和相应的端口即可。要进行身份验证,您可以使用以下方式: 相同的系统用户凭据这要归功于位于此处的特定 PAM 堆栈 /etc/pam.d/cockpit如果您的用户拥有权限 sudo可以选择对特权任务重复使用密码的选项,这样就可以从界面安装软件或配置 SELinux。

在与身份管理 (IdM) 域集成的环境中,如果域已配置为支持此功能,控制台还可以接受一次性密码 (OTP) 作为第二重身份验证因素。这增强了基于 Web 的服务器管理访问。

除了重启或关闭系统、配置时区或与 NTP 服务器同步时间等基本任务外,Web 控制台还允许您将服务器加入身份管理 (IdM) 域、监控性能以及查看系统日志。您可以禁用诸如同步多线程 (SMT)之类的硬件功能来缓解某些 CPU 漏洞(例如 L1TF、MDS),但请注意,这可能会导致性能下降。

  Windows 任务管理器:完整实用指南

高级控制台设置由以下位置管理: /etc/cockpit/cockpit.conf编辑此文件可以让你启用例如以下功能: 登录前的法律声明 (这在会提醒用户注意系统授权使用的组织和公司中非常常见)或者设置会话过期时间,以便在一段时间不活动后界面自动关闭。修改此文件后,需要重启 Web 控制台服务才能使更改生效。

Linux 服务器的类型和应用场景

当我们谈到 Linux 服务器时,指的不仅仅是物理安装在数据中心的机器;它还包括云服务器、虚拟专用服务器 (VPS)、容器和虚拟化环境。它们都具有一个共同的特点:运行基于 Linux 内核的操作系统变体,并且旨在支持企业级高要求应用。

在实际应用中,我们会用到各种服务器,例如用于托管网站和应用程序的Web服务器、数据库服务器、邮件服务器、文件服务器、身份验证服务器等等。选择合适的Linux服务器类型取决于其预期用途、性能要求、可扩展性需求以及可用预算。

最常见的选择之一是云服务器,它具有极高的灵活性、按需付费的定价模式,并且可以从任何有互联网连接的地方访问。对于需要动态扩展或缩减资源的项目来说,云服务器尤其受欢迎。

另一方面,专用物理服务器需要更大的投资,但它们可以最大限度地发挥硬件性能,并让您对系统拥有完全的控制权。对于工作负载非常密集或需要严格隔离特定服务的场景,它们是常见的选择。

介于两者之间的是VPS 或虚拟服务器,它们在成本、性能和灵活性之间实现了有趣的平衡,是公司和项目迈出构建更高级基础设施第一步的常见选择。

让 Linux 更上一层楼的实用工具

除了每个管理员都知道的经典命令之外,Linux 生态系统还提供了一系列不太常用的工具,这些工具可以大大简化系统管理员的工作,并提高安全性、性能和自动化程度。

我们之前已经提到过 Glances,它可以简洁地监控各种系统资源,以及 Restic,它可以进行加密备份。除此之外,Cockpit工具允许您通过直观的 Web 界面管理服务器,它支持多台机器,并且可以在 Red Hat、Debian 和 Ubuntu 等发行版上使用。它可以通过类似这样的命令进行安装和启用:

sudo apt install cockpit
sudo systemctl enable --now cockpit

在深度分析领域, bpftrace 它利用内核的 BPF 基础架构来执行 高级调试和性能分析:无需像旧工具那样高昂的成本,即可检查系统调用、研究进程或网络流量。 strace o tcpdump它对于需要实时查看内核内部运行情况的管理员和开发人员来说尤其有用。

此外,对于初学者,强烈建议使用结构化的培训材料,例如旨在从基本用户成长为高级管理员的书籍,其中解释了从文件和进程管理命令到集成防火墙、本地网络配置,甚至取证和攻击性安全工具的所有内容。

Linux 管理培训和职业机会

如果你的目标是成为一名专业的 Linux 系统管理员,那么最直接的途径之一就是参加与计算机和网络相关的职业培训课程。

诸如网络计算机系统管理(ASIR)职业培训(FP)或多平台应用开发(DAM)职业培训(FP)等课程,能够提供扎实的基础知识:操作系统、网络、服务、安全和编程。这些正是许多公司在寻找专注于Linux的系统或DevOps专业人员时所需要的技能。

Linux 系统管理员的职业机会包括科技公司、主机托管服务商、电信公司、银行、IT 咨询公司、公共部门和初创企业等。最常见的职位包括系统管理员、网络工程师、网络安全专家、DevOps 工程师和云基础设施经理。

在托管服务等领域,经验丰富的系统团队负责建立和管理完整的基础设施:从网络规划和选择连接提供商,到解决硬件和软件问题,再到在虚拟化平台之间迁移(例如,从 VMware 迁移到 Proxmox),以及数十台或数百台 Linux 服务器的日常运行。

随着经验的增长,许多管理员最终会领导涉及虚拟化、大规模自动化、容器部署或高可用性架构设计的复杂项目,而 Linux 始终是其中的核心部分。

精通Linux 系统管理需要理解系统的基础架构(用户、进程、权限、网络、文件系统)以及更高层次的服务、安全、监控、备份和编排。凭借合适的工具、周密的安全策略和扎实的培训,您可以管理从简单的服务器到复杂的分布式基础设施,保持控制、降低风险,并确保即使出现故障,系统也能持续运行。

如何编辑 hosts-7 文件
相关文章:
如何编辑 Hosts 文件:Windows、Mac 和 Linux 完整指南