还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
系统管理CentOS Linux欢迎参加CentOS Linux系统管理课程!本课程旨在帮助学员掌握CentOS操作系统的基础知识和高级管理技能,使您能够在企业环境中熟练部署和管理Linux服务器我们将系统地介绍从安装配置到高级管理的全套技能,包括用户管理、文件系统、网络配置、服务管理等核心内容无论您是初学者还是有一定经验的管理员,本课程都能帮助您更加深入理解CentOS系统,提升您的职业技能本课程采用理论与实践相结合的方式,确保您不仅了解概念,更能掌握实际操作技能让我们一起开始这段学习之旅!什么是?CentOS Linux的起源企业级应用场景CentOSCentOS(Community EnterpriseOperating CentOS因其稳定性和长期支持特性,被广泛应用于各种企业System)是一个基于Red HatEnterprise Linux级环境,包括(RHEL)源代码构建的Linux发行版它于2004年首次发•网络服务器和Web托管布,作为RHEL的免费替代品,提供与RHEL相同的稳定性和•数据库和应用服务器可靠性CentOS继承了RHEL的所有功能特性,但移除了所有Red•虚拟化和云计算平台Hat的商标和品牌,成为一个完全免费的企业级操作系统这使•企业内部IT基础设施得中小企业可以享受到企业级Linux的好处,而无需支付许可费用许多企业选择CentOS作为其服务器操作系统,因为它提供了高度安全性、可靠性和稳定性,同时大幅降低了软件许可成本版本与生命周期CentOS1CentOS62011年发布,基于RHEL6提供了10年支持期,于2020年11月30日结束生命周期主要特点包括引入了更新的内核版本和对虚拟化技术的强化支持2CentOS72014年发布,计划支持至2024年6月引入了systemd替代SysV init系统,采用XFS作为默认文件系统,并提供了Docker容器支持目前仍是许多企业环境的主流版本3CentOS82019年发布,原计划支持至2029年,但在2020年12月Red Hat宣布将于2021年末提前结束支持,转向CentOS Stream引入了更现代化的工具链和模块化软件仓库4CentOS Stream2020年推出的滚动发行版,位于Fedora和RHEL之间,成为RHEL的上游项目提供持续更新的软件包,更适合开发者和测试环境使用,而非追求稳定性的生产环境的安装前准备CentOS硬件要求检查下载与验证镜像安装CentOS7/8需要至少从官方网站(centos.org)2GB内存(建议4GB以或可信镜像站点下载ISO镜上),20GB磁盘空间(生像CentOS提供多种镜像产环境建议40GB以上),类型,包括完整DVD镜像、以及64位处理器对于服务最小安装镜像和网络安装镜器环境,推荐配置更高的资源像下载完成后,使用以确保系统性能安装前应确sha256sum工具与官方提认硬件兼容性列表供的校验和进行比对,确保镜像完整性安装介质准备对于物理机安装,需要准备USB启动盘(使用工具如dd命令或Rufus软件)或DVD光盘对于虚拟环境,可以直接挂载ISO镜像文件同时规划网络配置、主机名和存储布局,为顺利安装做好准备安装流程详解CentOS引导安装程序从安装介质启动计算机,在引导菜单选择Install CentOS Linux选项可以按Tab键修改引导参数,例如设置特定的显示分辨率或禁用某些硬件检测语言与键盘设置选择安装过程和系统使用的语言,以及键盘布局在服务器环境中,通常选择英语以便于管理和故障排除,但也可以选择中文简体以方便本地管理磁盘分区配置选择安装目标磁盘并设置分区方案可以使用自动分区或手动创建分区建议的分区方案包括/boot(1GB)、swap(内存的1-2倍)、/(根分区,剩余空间)对于服务器,考虑单独的/var、/home分区网络与主机名配置设置网络接口和主机名可以选择DHCP自动获取IP或手动配置静态IP地址、子网掩码、网关和DNS服务器服务器环境通常使用静态IP配置以确保稳定性软件选择与安装选择基本环境(如最小安装、服务器或带GUI的服务器)和附加组件对于生产服务器,通常选择最小化安装以减少安全风险,然后根据需要添加特定软件包首次系统启动与初始化配置引导加载GRUB系统首次启动时,GRUB引导加载程序会显示引导菜单,默认会启动CentOS如果存在多系统,可以在此选择要启动的操作系统GRUB菜单超时后(默认5秒),将自动启动默认操作系统初始化systemdCentOS7及更高版本使用systemd作为初始化系统,负责引导用户空间并管理系统进程systemd会按照预定义的目标(target)启动各种服务,如网络、存储和系统服务可以通过systemd-analyze命令查看启动过程详情首次登录配置首次登录需使用root账户和安装时设置的密码登录后,建议立即完成基本配置检查网络连接(ping测试)、更新系统软件包(yum update)、配置时区(timedatectl)和创建普通管理员账户(useradd)以增强安全性与命令行基础Shell的类型与特点命令结构与语法ShellCentOS默认使用Bash(Bourne AgainLinux命令通常遵循以下格式Shell)作为命令行解释器其他常见的command[options][arguments]Shell包括•command要执行的命令名称•sh-最早的Unix shell,功能相对简单•options以连字符开头的选项,如-a•zsh-功能强大,兼容bash,有更好或--all的自动补全•arguments命令操作的对象,如文•ksh-兼顾性能和功能的Shell件名•tcsh-C语言风格的Shell输入输出重定向/Shell提供强大的输入/输出控制功能•文件从文件读取输入•文件将输出写入文件(覆盖)•文件将输出追加到文件末尾•|管道,将前一命令的输出作为后一命令的输入常用命令速查Linux文件操作命令系统状态命令文本处理命令•ls列出目录内容•top/htop显示进•cat/more/less程信息查看文件内容•cp复制文件或目录•ps查看进程快照•grep搜索文本•mv移动或重命名•free显示内存使•head/tail查看文件用情况文件开头/结尾•rm删除文件或目•df显示磁盘空间•wc计算行数、字录使用情况数、字节数•mkdir/rmdir创•du显示目录空间•sed流编辑器建/删除目录使用情况•awk文本处理工•touch创建空文•uname显示系统具件或更新时间戳信息系统帮助与文档资源命令手册系统系统文档目录在线资源man命令是Linux最基本的帮助系统,提/usr/share/doc/目录包含安装的软件CentOS官方网站centos.org提供了供详细的命令用法说明man页面分为9包文档,通常有README、INSTALL完整的Wiki和论坛支持此外,Red个部分(section),使用man5等文件,以及详细说明和使用示例每个Hat文档库passwd可查看特定部分使用man-k软件包在此目录下有自己的子目录,命名access.redhat.com/documentati关键词可搜索相关命令info命令提供比格式为包名-版本号对于复杂软件如on中的大部分内容也适用于CentOSman更详细的GNU工具文档,支持超链Apache或MySQL,这里通常有完整的Stack Overflow、Server Fault等技接导航管理员指南术社区也是解决问题的宝贵资源一些问题可通过命令--help选项获得快速帮助基础实操演示与练习实操环节是掌握Linux命令的关键通过上述展示的命令实例,我们可以看到文件管理、系统监控、文本处理等常用操作的实际应用场景这些基础命令构成了日常系统管理的核心工具集,熟练掌握它们将显著提高工作效率建议初学者创建一个测试目录,系统地练习这些命令,包括创建/删除文件、查看系统状态、搜索和处理文本内容等操作反复练习是提高命令行熟练度的最有效方法记住,在Linux中,命令的组合使用往往能产生强大的效果本地用户与用户组管理命令主要功能常用选项示例useradd创建新用户-m创建家目录,-s指useradd-m-s定shell/bin/bash aliceusermod修改用户属性-G添加附加组,-L锁usermod-G定账户sudo aliceuserdel删除用户-r删除家目录及邮件userdel-r alicepasswd设置用户密码-l锁定,-u解锁,-e强passwd alice制过期chage修改密码策略-M最大有效天数,-chage-M90aliceE设置过期日期CentOS使用/etc/passwd文件存储用户信息,每行代表一个用户,格式为用户名:密码占位符:UID:GID:注释:家目录:默认shell实际密码信息存储在/etc/shadow文件中,采用加密格式并限制访问权限用户IDUID在系统中标识用户,0表示root用户,1-999通常用于系统账户,1000以上分配给普通用户创建用户时应当考虑权限最小化原则,仅分配必要的访问权限,确保系统安全用户组管理与权限模型用户组基础知识用户组管理命令Linux用户组是用户的集合,用于简化权限管理每个用户必须•groupadd创建新组,如groupadd developers属于一个主组(Primary Group),也可以加入多个附加组•groupmod修改组属性,如groupmod-n(Supplementary Groups)组信息存储在/etc/groupnewname oldname文件中,格式为组名:密码占位符:GID:成员列表•groupdel删除用户组,如groupdel developers系统使用组ID(GID)来标识用户组,与UID类似,0-999通•gpasswd设置组密码和管理员,如gpasswd-A常保留给系统组,1000以上分配给用户创建的组用户创建的admin developers文件和目录默认属于该用户的主组•groups显示用户所属的组,如groups username•id显示用户ID和组ID信息,如id username密码管理与安全加固强密码策略设置密码复杂度、长度及历史记录要求密码生命周期设置最短/最长使用期限和提前警告天数账户锁定机制配置失败尝试次数和锁定时间认证审计记录并监控所有认证活动在CentOS中,可以使用以下工具实现密码安全策略1PAM(Pluggable AuthenticationModules)模块,通过编辑/etc/pam.d/目录下的配置文件,实现密码复杂度检查和账户锁定;2/etc/login.defs文件,用于设置密码过期策略;3chage命令,管理个别用户的密码生命周期一个典型的安全配置包括要求密码至少12个字符,包含大小写字母、数字和特殊字符;密码有效期不超过90天;连续5次错误登录后锁定账户15分钟;禁止重用最近10个密码这些措施能有效防范暴力破解和弱密码攻击文件权限详解Linux特殊权限应用场景权限SUID当文件设置了SUID位时,执行该文件的用户将以文件所有者的权限运行程序在数字模式下,SUID权限用4000表示(如chmod4755file)典型例子是/usr/bin/passwd命令,普通用户执行时临时获得root权限,以便修改/etc/shadow文件权限SGIDSGID权限应用于文件时,类似SUID,但执行者获得的是文件所属组的权限应用于目录时,在该目录下创建的新文件会继承目录的所属组数字模式为2000(如chmod2775directory)常用于团队协作目录,确保所有成员都能访问彼此创建的文件Sticky BitSticky Bit主要应用于目录,如/tmp当目录设置了StickyBit,只有文件所有者、目录所有者或root才能删除目录中的文件,防止用户删除其他用户的文件数字模式为1000(如chmod1777/tmp)这对共享目录的安全管理非常重要权限管理案例分析在Web服务器环境中,常见权限问题包括网站文件所有权不正确导致403错误;日志目录权限不足导致无法写入;配置文件权限过宽引发安全风险最佳实践是将Web内容所有权设为专用用户(如apache或www-data),配置文件设置为640权限,可执行脚本设为750,静态内容设为644对于数据库服务器,数据目录应严格控制访问权限,通常设置为700或750,且只允许数据库服务用户访问对于多用户共享环境,可以创建专门的用户组,并利用SGID位确保文件权限一致性定期审计关键系统文件权限是维护安全的重要措施机制与管理sudo1原理与优势2配置sudo/etc/sudoerssudo(superuser do)允许普/etc/sudoers文件控制哪些用通用户以其他用户(通常是户可以执行sudo以及允许执行哪root)身份执行命令,无需知道些命令基本语法为用户主机root密码它的主要优势包括详=以谁身份命令例如,细的权限控制、完整的命令执行admin ALL=ALL ALL表示日志记录和可定制的安全策略admin用户可以在任何主机上以相比直接使用root账户,sudo提任何用户身份执行任何命令可供了更高的安全性和可追溯性以使用%group语法为整个用户组授权3安全配置实践永远使用visudo命令编辑sudoers文件,它会在保存前检查语法错误设置NOPASSWD参数可免除密码验证,但应谨慎使用可以限制特定用户只能运行特定命令,如operator ALL=/bin/systemctl restart httpd建议使用sudo-l检查当前用户的sudo权限登录与身份验证流程认证PAM登录请求通过PAM模块验证凭据,检查密码、账户状态和用户输入用户名后,登录程序开始验证过程安全策略启动用户会话创建Shell启动默认Shell,提供命令行界面加载用户配置文件,设置环境变量和工作目录CentOS使用PAM(可插拔认证模块)框架进行身份验证,它支持多种认证方式,包括本地密码、LDAP、Kerberos等PAM配置文件位于/etc/pam.d/目录,每个服务有独立的配置文件su命令与login过程不同,它允许已登录用户切换到另一个用户身份,默认目标是root使用su需要知道目标用户的密码而sudo命令则允许授权用户以其他用户身份执行特定命令,通常需要验证自己的密码而非目标用户密码SSH远程登录使用公钥/私钥或密码验证,提供安全的远程访问机制免密登录配置SSH生成密钥对SSH在客户端使用ssh-keygen命令生成公钥和私钥对默认情况下,密钥存储在~/.ssh/目录,私钥文件为id_rsa,公钥文件为id_rsa.pub生成过程中可以设置密码短语(passphrase)增加安全性,但影响自动化操作推荐使用RSA4096位或ED25519算法生成密钥部署公钥至服务器将客户端公钥复制到服务器的~/.ssh/authorized_keys文件中可以使用ssh-copy-id工具自动完成这一过程ssh-copy-idusername@server此命令会自动创建必要的目录和文件,并设置正确的权限如果无法使用该工具,可以手动复制公钥内容追加到authorized_keys文件安全配置与测试确保服务器上~/.ssh目录权限为700,authorized_keys文件权限为600,防止其他用户访问在服务器/etc/ssh/sshd_config文件中,确认PubkeyAuthentication设置为yes完成配置后,使用sshusername@server命令测试免密登录,系统应直接登录成功而不询问密码用户与权限管理综合练习创建团队架构创建开发、测试和运维用户组与成员配置项目目录建立共享目录结构并设置权限实现权限控制配置sudo权限和特殊权限位在此综合练习中,我们将模拟一个软件开发团队的环境设置首先,创建三个用户组devteam、qateam和opsteam,分别代表开发、测试和运维团队然后在每个组中添加至少两名用户接下来,在/opt目录下创建项目目录结构,包括源代码、配置文件和日志目录,并为不同组设置适当的访问权限对于开发人员,授予源代码目录的读写权限,但仅有配置文件的读权限;测试人员需要完整访问测试环境;运维人员需要对所有环境的完全控制权,以及使用sudo执行服务重启等管理任务的权限最后,确保日志目录正确设置组权限和SGID位,以便所有相关人员可以访问日志文件软件包管理基础包格式RPM查询包信息CentOS使用RPMRed HatPackage使用rpm-q查询已安装包,rpm-qi显示Manager作为基本软件包格式RPM文详细信息,rpm-ql列出包含的文件,件包含已编译的程序、配置文件、文档和依rpm-qf查找文件所属的包这些命令帮赖信息,命名格式为name-version-助管理员了解系统中已安装的软件release.architecture.rpm验证与修复安装与卸载rpm-V命令可验证已安装包的完整性,检使用rpm-i安装包,rpm-U升级包,测是否有文件被修改rpm--rebuild可rpm-e卸载包RPM会跟踪文件更改,从源码包重建二进制包,适用于特定环境的确保系统完整性注意RPM不会自动解决优化或修复依赖问题,需要手动安装所有依赖项仓库配置与使用YUM基本概念仓库配置文件YUMYUMYellowdog UpdaterModified是YUM仓库配置文件存储在CentOS的高级包管理工具,建立在RPM之/etc/yum.repos.d/目录,扩展名上,提供自动依赖解析、简化的安装和升级流为.repo每个配置文件可包含多个仓库定程YUM通过配置的软件仓库获取软件包信义,基本结构包括•[repository_id]唯一标识符息和内容,支持多仓库配置和优先级设置•name=仓库描述•baseurl=仓库URL•enabled=是否启用1/0•gpgcheck=是否验证签名1/0常用命令YUM•yum installpackage安装软件包•yum update[package]更新特定包或全系统•yum removepackage移除软件包•yum searchkeyword搜索相关软件包•yum infopackage显示包信息•yum listinstalled列出已安装的包•yum cleanall清理缓存软件包安装、更新、卸载演示软件包安装流程系统更新过程软件包卸载与清理使用YUM安装软件包时,系统会自动解析依定期更新系统是安全维护的重要部分使用使用yum removepackage卸载软件包赖关系并下载所需的所有包例如,安装yum update进行全系统更新,或yum及其独有的依赖项如果想保留配置文件,可Apache HTTP服务器可使用命令yum updatepackage更新特定软件包更新使用yum erasepackage--install httpd安装过程包括依赖检查、下前可使用yum check-update查看可用更noautoremove对于不再需要的依赖载包、安装依赖项、安装主软件包和执行任何新对于关键系统,建议先在测试环境验证更项,可以使用yum autoremove清理使安装后脚本新,并在更新前创建快照或备份用yum history命令可查看和撤销之前的操作,如yum historyundo7撤销第7次操作和第三方仓库EPEL仓库简介安装与使用第三方仓库EPELEPELExtra Packagesfor EnterpriseLinux是由安装EPEL仓库Fedora项目维护的高质量附加软件包仓库,为CentOS提供yum installepel-release额外的开源软件EPEL遵循与CentOS相同的兼容性和稳定性标准,不会与基础软件包冲突其他常用第三方仓库包括EPEL包含数千个额外软件包,填补了CentOS官方仓库的不•IUS-提供较新版本的软件包足,包括多种开发工具、监控软件、网络应用等对于大多数•REMI-提供更新版本的PHP、MySQL等CentOS服务器,添加EPEL仓库是标准操作•ELRepo-提供硬件驱动支持安装第三方仓库时,应验证GPG密钥以确保安全性,并注意仓库优先级设置,避免包版本冲突服务管理与systemd介绍systemdsystemd是CentOS7及以上版本的初始化系统和服务管理器,替代了传统的SysVinit它提供了并行启动能力,按需启动守护进程,自动依赖处理,以及更强大的服务监控和控制功能服务单元文件systemd使用单元文件定义服务,存放在/usr/lib/systemd/system/和/etc/systemd/system/目录服务单元文件.service包含服务描述、启动命令、依赖关系等信息管理员可以创建自定义服务单元文件来管理应用程序服务控制命令使用systemctl命令管理服务systemctl start/stop/restart/reload/statusservice使用systemctl list-units--type=service显示所有服务单元systemctl enable/disable service控制开机自启动journalctl-u service查看服务日志目标与依赖管理systemd使用target替代运行级别概念,如multi-user.target相当于运行级别3,graphical.target相当于运行级别5使用systemctl isolatetarget切换目标,systemctl get-default查看默认目标systemctl list-dependencies显示服务依赖关系服务自启动与运行级别传统运行级别systemd目标描述0poweroff.target关机1rescue.target单用户模式2multi-user.target多用户模式无网络3multi-user.target多用户模式5graphical.target图形界面模式6reboot.target重启在CentOS中,设置服务自启动使用systemctl enable命令,它会在适当的.wants目录中创建符号链接例如,systemctl enablehttpd将在multi-user.target.wants/目录中创建指向httpd.service的链接,确保系统启动到多用户模式时自动启动Apache服务要更改系统的默认运行级别(目标),使用systemctl set-default命令例如,systemctl set-default multi-user.target将系统设为命令行模式启动,而systemctl set-defaultgraphical.target则设为图形界面模式启动可通过systemctl get-default查看当前默认目标进程管理基础进程查看工具Linux提供多种工具监控和检查进程ps命令显示当前进程快照;top和htop提供实时进程状态和系统资源使用情况;pgrep可根据名称或其他属性查找进程ID;pstree以树形结构显示进程间的父子关系进程控制信号通过kill命令向进程发送信号控制其行为SIGTERM15请求进程正常终止;SIGKILL9强制终止进程;SIGHUP1通知配置重载;SIGSTOP19暂停进程;SIGCONT18继续执行被暂停的进程例如kill-151234或kill-TERM1234系统监控命令vmstat显示系统内存、处理器和IO统计信息;iostat监控CPU和磁盘I/O活动;free查看内存使用情况;lsof列出打开的文件和网络连接;netstat/ss显示网络连接、路由表和接口统计;sar提供历史性能数据分析常见服务的配置()httpd/sshd服务器服务器Apache HTTPhttpd SSHsshdApache配置文件位于SSH服务器配置文件位于/etc/httpd/conf/httpd.conf,/etc/ssh/sshd_config重要配附加配置在/etc/httpd/conf.d/目置选项包括Port(监听端口,默认录主要配置参数包括ServerRoot22)、PermitRootLogin(是否(安装根目录)、Listen(监听端允许root直接登录)、口)、DocumentRoot(网站根目PasswordAuthentication(是录)、Directory(目录访问控否允许密码认证)、制)、VirtualHost(虚拟主机设PubkeyAuthentication(是否允置)修改配置后使用systemctl许密钥认证)、restarthttpd重启服务生效AllowUsers/DenyUsers(访问控制列表)修改后重启服务systemctl restartsshd其他常见服务MySQL/MariaDB主配置文件为/etc/my.cnf,额外配置在/etc/my.cnf.d/;Nginx配置文件位于/etc/nginx/nginx.conf和/etc/nginx/conf.d/;Postfix邮件服务器配置在/etc/postfix/main.cf所有服务通常都使用systemctl命令管理启动和停止,配置文件修改后需要重启或重载服务才能生效服务日志查看与分析日志传统日志文件systemd journaldCentOS7及以上版本使用journald收集系统和服务日志,通除了journald,CentOS仍然保留了传统的日志文件系统,主过journalctl命令访问要日志位于/var/log/目录•journalctl查看所有日志•/var/log/messages一般系统日志•journalctl-u service查看特定服务日志•/var/log/secure认证相关日志•journalctl-b查看当前启动的日志•/var/log/maillog邮件服务日志•journalctl-f实时查看最新日志(类似tail-f)•/var/log/cron计划任务日志•journalctl--since=2023-01-01--until=2023-01-•/var/log/boot.log系统启动日志02按时间段查询•/var/log/httpd/Apache服务器日志默认情况下,journald日志存储在内存中,可配置为持久存使用命令如tail、grep、less等分析这些文本日志文件储软件与服务管理综合练习123栈部署故障排查性能监控LAMP安装和配置Apache、MariaDB和PHP诊断并修复常见服务问题设置系统和服务监控在这个综合练习中,我们将部署一个完整的LAMP Linux,Apache,MariaDB,PHP环境首先,使用yum安装所需软件包yum installhttpdmariadb-server phpphp-mysqlnd然后配置各服务的基本设置,包括Apache虚拟主机、MariaDB安全设置和PHP优化接下来,模拟几种常见故障情景并进行排查,如Apache无法启动、MariaDB连接拒绝、PHP解析错误等使用systemctl status、journalctl和各服务日志文件定位问题最后,配置基本的性能监控,包括设置定期执行的系统资源监控脚本,以及配置服务状态检查这些实践将巩固先前学习的服务管理、软件安装和日志分析知识文件系统结构Linux和/home/root用户个人文件和root用户主目录、、/etc/var/tmp配置文件、变动数据和临时文件、、/bin/sbin/lib基本命令和库文件和/usr/opt用户程序和可选包和/boot/引导文件和根目录Linux文件系统遵循文件系统层次标准FHS,确保不同发行版之间的一致性根目录/是所有其他目录的起点,核心命令和库分布在/bin、/sbin和/lib目录中,这些文件对系统引导至关重要/etc目录包含系统和应用程序配置文件,而/var目录存放日志文件、邮件队列等会变化的数据/usr目录包含大多数用户程序和数据,是系统中最大的目录之一/home目录包含普通用户的个人文件,/root是超级用户的主目录/boot包含内核和引导加载器文件,/dev包含设备文件,/proc和/sys是虚拟文件系统,提供系统信息和内核接口了解这种结构对系统管理和故障排除至关重要磁盘分区与管理fdisk分区工具fdisk是传统的分区工具,适用于MBR分区表使用fdisk/dev/sda可管理第一个SCSI磁盘常用命令包括p打印分区表、n新建分区、d删除分区、t更改分区类型、w写入更改、q不保存退出fdisk适合2TB以下磁盘,但不支持GPT分区表parted高级分区工具parted支持GPT分区表,可处理大于2TB的磁盘启动方式为parted/dev/sda,支持交互模式和命令行模式常用命令有print显示分区表、mklabel gpt创建GPT分区表、mkpart创建分区、rm删除分区parted的变更会立即写入磁盘,无需额外确认/etc/fstab配置/etc/fstab文件控制系统启动时自动挂载的文件系统每行定义一个挂载,包含六个字段设备标识符UUID或设备路径、挂载点、文件系统类型、挂载选项、dump选项是否备份和fsck顺序文件系统检查顺序修改后可使用mount-a测试配置是否正确文件与目录操作进阶命令命令find locate强大的文件搜索工具,可基于名称、大基于数据库的快速文件查找工具,通过小、时间等条件查找文件,并执行操updatedb命令更新索引如locate作如find/home-name*.log-httpd.conf快速查找配置文件相比2size+10M-mtime+30-exec rmfind更快但不实时,适合查找已索引的{}\;查找并删除30天前超过10MB的日文件志文件文件属性管理链接与inodechattr命令设置特殊文件属性,如硬链接ln filehardlink共享同一chattr+i file使文件不可修改;lsattrinode;软链接ln-s filesymlink创显示这些属性通过stat命令可查看文建指向原文件的指针使用ls-i查看件的详细元数据信息,包括inode号、inode号,同一inode号表示同一实际创建时间等文件磁盘挂载与卸载基本挂载操作卸载文件系统使用mount命令将文件系统附加到目录树使用umount命令卸载文件系统•mount/dev/sdb1/mnt挂载特定分区•umount/mnt通过挂载点卸载•mount-t ext4/dev/sdb1/mnt指•umount/dev/sdb1通过设备名卸载定文件系统类型•umount-l/mnt懒卸载,等待不再使•mount-o ro,noexec/dev/sdb1用时卸载/mnt指定挂载选项•umount-f/mnt强制卸载(不推荐)•mount-a挂载/etc/fstab中的所有条目卸载前需确保没有进程在使用该文件系统mount不带参数则显示当前挂载的文件系统常见挂载问题排查•device isbusy使用lsof/mnt或fuser-m/mnt查找使用该挂载点的进程•文件系统类型错误确认-t参数指定正确类型,或使用file-s/dev/sdb1检测•权限问题检查挂载点权限,确保当前用户有访问权限•UUID问题使用blkid命令获取正确的UUID,对比/etc/fstab中的配置逻辑卷管理基础LVM物理卷PV使用pvcreate/dev/sdb将磁盘初始化为物理卷使用pvdisplay或pvs查看物理卷信息卷组VG使用vgcreate vg_name/dev/sdb组建卷组使用vgextend vg_name/dev/sdc扩展卷组vgdisplay或vgs查看卷组信息逻辑卷LV使用lvcreate-L10G-n lv_name vg_name创建逻辑卷lvdisplay或lvs查看逻辑卷信息最后格式化并挂载使用逻辑卷管理LVM是一种灵活的磁盘管理技术,让管理员可以轻松调整文件系统大小,而无需重新分区LVM在物理磁盘和文件系统之间增加了一层抽象,将物理存储资源池化,便于动态分配LVM由三层组成物理卷PV是实际的磁盘或分区;卷组VG是物理卷的集合,形成一个存储池;逻辑卷LV从卷组分配空间,可以格式化并挂载使用LVM的优势包括轻松扩展/缩减文件系统、跨多个磁盘创建逻辑卷、创建快照便于备份,以及更灵活的存储管理这使得LVM成为企业环境中的首选存储解决方案扩容与缩容实操LVM逻辑卷扩容流程LVM扩容是一个常见操作,可以在线进行无需停机首先,如果需要增加物理存储,添加新磁盘并创建物理卷pvcreate/dev/sdc然后将其添加到现有卷组vgextend vg_data/dev/sdc最后扩展逻辑卷lvextend-L+10G/dev/vg_data/lv_app扩展完成后,还需调整文件系统大小对于XFS文件系统使用xfs_growfs/mount_point,对于ext4使用resize2fs/dev/vg_data/lv_app在线文件系统调整CentOS7及以上版本支持大多数文件系统的在线调整,无需卸载对于XFS文件系统,只支持扩展不支持缩减,使用xfs_growfs命令ext4文件系统既可扩展也可缩减,使用resize2fs命令进行在线操作时,建议先进行完整备份,确保数据安全操作时注意监控系统负载,在业务低峰期进行大规模调整逻辑卷缩减注意事项缩减逻辑卷风险较高,必须格外谨慎首先必须卸载文件系统或确保其支持在线缩减对于ext4,需先缩减文件系统resize2fs/dev/vg_data/lv_app5G,然后缩减逻辑卷lvreduce-L5G/dev/vg_data/lv_app操作前务必进行完整备份,确保目标大小大于实际数据占用空间,否则会导致数据丢失XFS不支持缩减,需要备份、重新创建和恢复数据备份与恢复策略制定备份策略有效的备份策略应考虑备份频率、保留期限、存储位置和验证机制常见的策略包括完全备份加增量备份;关键数据异地存储;每日、每周和每月备份计划;定期测试恢复过程根据数据重要性和变化频率调整备份方案使用进行备份tartar是Linux中最常用的备份工具之一基本用法tar-czvf backup.tar.gz/path/to/backup创建压缩备份;tar-xzvf backup.tar.gz恢复备份可以使用--exclude选项排除特定文件或目录,如tar-czvf backup.tar.gz--exclude=/var/log/\*/var将排除日志文件增量备份rsyncrsync是高效的文件同步工具,特别适合增量备份基本用法rsync-avz--delete/source//destination/同步目录;rsync-avz-e ssh/source/user@remote:/destination/同步到远程服务器--delete选项可以删除目标目录中源目录已不存在的文件,确保完全匹配自动化备份调度使用crontab设置定期自动备份任务例如,添加02***/scripts/backup.sh到crontab可在每天凌晨2点执行备份脚本备份脚本应包含日期时间戳命名、日志记录、错误处理和通知机制,确保备份过程可被监控和验证归档、压缩与解压缩工具文件扩展名压缩命令解压命令特点tar无压缩.tar tar-cf archive.tar files tar-xf archive.tar仅归档,无压缩gzip.tar.gz/.tgz tar-czf archive.tar.gz filestar-xzf archive.tar.gz较快,压缩率中等bzip
2.tar.bz2/.tbz2tar-cjf archive.tar.bz2filestar-xjf archive.tar.bz2较慢,压缩率高xz.tar.xz tar-cJf archive.tar.xz filestar-xJf archive.tar.xz最慢,压缩率最高zip.zip zip-r archive.zip filesunzip archive.zip跨平台兼容性好在CentOS系统中,归档和压缩是文件管理的基本操作归档(archiving)是将多个文件组合成单一文件,而压缩(compression)则是减小文件大小tar命令主要用于归档,可以与gzip、bzip2或xz等压缩工具结合使用选择压缩工具时需考虑多个因素速度、压缩率和兼容性gzip速度快但压缩率较低,适合日常使用;bzip2压缩率更高但速度较慢;xz提供最高压缩率但需要更多CPU资源和时间;zip压缩率适中,但与Windows系统有更好的兼容性针对不同场景,如系统备份、日志压缩或跨平台传输,应选择合适的压缩方式存储性能监控磁盘空间监控性能监控整体系统性能I/Odf命令显示文件系统使用情况,如df-h iostat工具提供CPU和存储设备I/O统计vmstat提供内存、进程、分页、块I/O和以人类可读格式显示,df-i显示inode使信息,如iostat-xz1显示详细的设备利CPU活动的快照,如vmstat110每秒报用情况du命令分析目录空间使用情况,用率和性能指标iotop命令以类似top的告一次,共10次sar命令可收集、报告如du-sh/var/*显示各子目录大小,du界面显示进程I/O使用情况,帮助识别I/O和保存系统活动历史数据,如sar-b查看--max-depth=2/查看前两级目录占用密集型进程存储性能问题常见指标包括I/O统计,sar-r查看内存使用情况这些空间这些工具对于防止磁盘空间耗尽非高等待时间%await、高利用率%util工具结合使用可全面了解系统性能瓶颈常重要和队列长度文件存储管理综合练习磁盘分区与格式化使用fdisk/parted工具创建分区并格式化配置与管理LVM创建卷组、逻辑卷并实现在线扩容备份与恢复实操设计并实施自动备份解决方案本练习将模拟企业环境中的存储管理场景首先,为新添加的磁盘创建分区表和分区,选择合适的分区类型(MBR或GPT)并格式化为XFS文件系统然后使用这些分区创建物理卷,将它们添加到卷组中,并创建逻辑卷用于数据存储实践LVM的灵活性,模拟存储扩展场景添加新磁盘到卷组,在线扩展逻辑卷和文件系统,无需中断服务最后,设计一个完整的备份策略,包括创建备份脚本、配置自动备份计划(使用crontab)、实现数据的增量备份(使用rsync),并测试恢复过程的有效性通过这个综合练习,将巩固先前学习的所有存储管理知识网络基础配置网络接口管理工具网络配置文件CentOS7开始同时支持传统的net-tools工具包和新的CentOS网络接口配置文件存储在iproute2工具包/etc/sysconfig/network-scripts/目录,每个接口对应一个配置文件,如ifcfg-ens33主要配置参数包括•传统命令ifconfig查看接口、route路由表、netstat网络连接•DEVICE设备名称•新命令ip addr接口地址、ip route路由表、ss网络•BOOTPROTO启动协议none/static/dhcp连接•IPADDR/PREFIX IP地址和前缀长度新工具提供更强大的功能和一致的语法,推荐优先使用,但仍需•GATEWAY默认网关了解传统命令以适应各种环境•DNS1/DNS2DNS服务器•ONBOOT开机是否启动yes/no主机名与解析DNS主机名配置本地解析DNSCentOS7及更高版本使用hostnamectl命令/etc/hosts文件提供本地主机名解析,格式为管理主机名IP地址主机名别名,如•hostnamectl status显示当前主机名设置
192.
168.
1.10server
1.example.com server1•hostnamectl set-hostname使用本地hosts文件的优点包括简单快速、不依server
1.example.com设置全限定域赖网络,缺点是需要手动维护适用于小型网络名FQDN或特定主机的快速解析•hostnamectl--pretty set-hostname WebServer1设置友好名称主机名存储在/etc/hostname文件中,修改后立即生效,无需重启系统客户端配置DNS/etc/resolv.conf文件控制DNS客户端行为,主要参数包括•nameserver DNS服务器IP,最多可指定3个•search域名搜索列表,用于补全不完整主机名•options高级选项,如timeout、attempts注意NetworkManager通常会动态管理此文件,直接编辑可能被覆盖网络服务启停与调试在CentOS中,网络服务主要通过systemd管理使用systemctl statusnetwork.service查看网络服务状态,systemctl restartnetwork.service重启网络服务对于NetworkManager,使用systemctl statusNetworkManager、nmcli conshow和nmcli conup/down接口名进行管理网络故障排查工具包括ping验证主机连通性;traceroute/tracepath显示网络路径;dig/nslookup测试DNS解析;telnet/nc测试TCP端口连通性;tcpdump/wireshark分析网络流量;netstat/ss显示网络连接状态;ip rule/ip route分析路由表使用iftop或nethogs监控实时网络流量;使用iperf测试网络带宽;使用ethtool查询网卡设置网络问题排查应从物理连接层开始,逐步上升至应用层,先检查本地配置,再检查路由和远程服务防火墙基础配置简介区域与服务管理firewalldCentOS7及更高版本使用firewalld预定义了多个区域,如firewalld作为默认防火墙,它是public公共、home家庭、对底层iptables/nftables的动态trusted可信等,每个区域有不同前端,支持网络区域zone概念,的默认规则使用firewall-cmd允许不同网络接口应用不同安全级--get-active-zones查看当前活别firewalld可在运行时修改规动区域;firewall-cmd--则,无需重启服务或影响现有连zone=public--list-all查看区域接,这对在线服务器非常有利规则;firewall-cmd--zone=public--add-service=http永久开放HTTP服务;firewall-cmd--reload重新加载配置端口与协议管理除了预定义服务外,还可以管理具体端口firewall-cmd--zone=public--add-port=8080/tcp临时开放8080端口;添加--permanent选项使规则永久生效;使用--remove-port或--remove-service关闭端口或服务对于复杂需求,可以创建自定义服务定义或直接添加富规则rich rules安全机制SELinux强制访问控制基于安全策略实现细粒度权限控制上下文标签通过文件和进程的安全上下文限制行为安全策略预定义的策略规则集控制系统行为运行模式强制enforcing、许可permissive或禁用disabledSELinuxSecurity-Enhanced Linux是CentOS中的强制访问控制MAC系统,由NSA开发,提供比传统DAC更强的安全保障每个文件、进程和系统对象都有安全上下文标签,格式为用户:角色:类型:级别SELinux主要依靠类型强制Type Enforcement控制,限制进程只能访问有相应类型标签的资源常用SELinux管理命令包括getenforce查询当前模式;setenforce0|1切换模式;sestatus查看详细状态;ls-Z查看文件安全上下文;ps-Z查看进程上下文;restorecon恢复默认上下文;semanage管理端口标签和布尔值SELinux问题排查可通过audit.log或/var/log/messages查看拒绝记录,使用sealert工具提供解决建议虽然学习曲线较陡,但SELinux对提高系统安全性至关重要日志审计与安全防护系统审计框架CentOS包含强大的auditd审计系统,可记录系统调用和安全相关事件通过/etc/audit/auditd.conf配置基本参数,/etc/audit/rules.d/下的文件定义审计规则使用auditctl-l查看当前规则,auditctl-a添加规则审计日志存储在/var/log/audit/audit.log,使用ausearch和aureport工具分析日志入侵检测基本入侵检测可通过多种工具实现AIDEAdvanced IntrusionDetection Environment创建文件校验数据库,定期比对以发现未授权修改;fail2ban监控认证日志,自动封禁反复失败的IP;rkhunter和chkrootkit检测rootkit;Logwatch分析日志并发送摘要报告安全监控策略完整的安全监控策略应包括1集中式日志管理,使用rsyslog将日志发送至集中服务器;2定期安全扫描,使用OpenVAS等工具检查漏洞;3文件完整性监控,定期运行AIDE检查;4异常行为分析,建立基准并监控偏差;5安全警报机制,通过邮件或消息系统通知管理员定时计划任务管理/服务主要用途配置文件/命令特点cron周期性任务crontab-e按分钟、小时、日、月、周执行at一次性任务at2:00tomorrow指定未来某一时刻执行anacron确保任务执行/etc/anacrontab适合不是24/7运行的系统systemd timer现代化定时器systemctl命令精确控制和依赖管理crontab是最常用的计划任务工具,格式为分钟小时日月星期命令例如,02***/scripts/backup.sh表示每天凌晨2点执行备份脚本特殊语法包括*/5表示每5个单位;3-7表示3到7;1,3,5表示
1、3和5系统级cron任务位于/etc/crontab和/etc/cron.d/目录,而/etc/cron.{hourly,daily,weekly,monthly}目录包含相应周期执行的脚本定时任务的最佳实践包括重定向输出到日志文件或/dev/null;设置正确的环境变量;使用绝对路径;添加错误处理和通知机制;注意资源消耗,避免高峰期运行重任务;为长时间运行的任务实现锁机制,防止重叠执行对于关键任务,建议实施监控机制确认其执行状态网络与安全综合案例服务器安全配置服务加固Web SSH配置Apache与防火墙,实现最小权限访问控禁用root登录,实现密钥认证,配置防暴力破解制,并设置SSL安全通信措施应急响应计划安全监控实现制定安全事件处理流程,包括隔离、分析和恢复配置日志审计,实施入侵检测和告警机制步骤在这个综合案例中,我们将部署一个安全的Web服务器环境首先配置Apache HTTP服务器,启用HTTPS,并优化SSL/TLS设置以保证安全通信使用firewalld仅开放必要的80和443端口,并限制特定IP访问管理接口正确设置SELinux上下文,允许Apache访问网站内容接下来,加固SSH服务,在/etc/ssh/sshd_config中设置禁用密码认证PasswordAuthentication no,禁止root直接登录PermitRootLogin no,限制允许的用户AllowUsers,更改默认端口,并配置fail2ban防止暴力攻击最后,设置auditd记录关键系统操作,配置AIDE监控文件完整性,并创建日志监控脚本,在检测到可疑活动时通过邮件或其他方式通知管理员系统自动化与运维工具12自动化部署配置管理Kickstart实现无人值守安装Ansible实现多服务器统一管理34监控系统脚本自动化Prometheus/Grafana监控关键指标Shell脚本实现日常任务自动化随着服务器规模增长,手动管理变得不切实际,此时自动化工具变得至关重要Kickstart允许通过配置文件自动部署CentOS系统,只需创建ks.cfg文件定义安装参数,包括分区方案、软件包选择和网络配置对于已部署的系统,Ansible提供了无代理的配置管理解决方案,使用YAML格式的playbook定义所需状态监控系统是识别问题和优化性能的关键Prometheus收集和存储时间序列数据,Grafana提供可视化界面,而Zabbix提供全面的监控解决方案对于日常任务,Shell脚本是强大的自动化工具例如,可以创建巡检脚本检查磁盘空间、系统负载和安全日志,定期执行并报告异常情况自动化不仅提高效率,还减少人为错误,是现代系统管理的核心实践总结与课程答疑在本课程中,我们全面介绍了CentOSLinux系统管理的核心知识,从基本安装和命令行操作,到高级主题如LVM存储管理、网络配置、安全加固和自动化运维这些内容构成了Linux系统管理员的基础技能框架,能够应对大多数企业环境中的日常运维任务对于希望进一步提升技能的学员,建议探索以下进阶方向容器技术(Docker和Kubernetes)、云平台管理、高级网络服务配置、大规模自动化部署、性能优化和故障排查深度技能相关认证路径包括RHCSA/RHCE(与CentOS知识高度相关)、CompTIA Linux+和LPI认证最重要的是持续实践,建立测试环境,尝试解决真实场景中的问题,这是掌握Linux系统管理的最有效途径。
个人认证
优秀文档
获得点赞 0