还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
运维培训课程Linux欢迎参加我们的Linux运维培训课程本课程专为零基础学员设计,旨在帮助您掌握企业级Linux运维技能课程内容涵盖RHEL、CentOS、Ubuntu以及多种国产Linux系统,从基础知识到高级应用,共50个知识点,每个知识点都配有实际操作案例什么是运维?Linux运维岗位发展Linux运维工程师是负责企业IT基础设施稳定运行的专业人员,近年来随着云计算与容器技术发展,运维工作已从传统的守夜人演变为具有战略价值的技术岗位职责分工现代运维团队通常分为基础设施运维、应用运维、DevOps、SRE等方向,Linux作为服务器领域的主导系统,成为所有运维工程师必备技能市场需求据统计,中国IT行业对Linux运维人才需求年增长率超过30%,尤其是具备自动化运维能力的高级人才,平均薪资比传统运维高出50%以上计算机与操作系统基础计算机组成与操作系统作用常见操作系统类型计算机由硬件(CPU、内存、存储设备、输入输出设备)和软件(系桌面操作系统Windows、macOS、Linux发行版统软件、应用软件)组成操作系统作为最重要的系统软件,负责管理服务器操作系统Windows Server、Linux各发行版计算机硬件与软件资源,为用户提供交互界面移动操作系统Android(基于Linux内核)、iOS嵌入式操作系统各类物联网设备系统发展史与生态Linux1年1991芬兰学生Linus Torvalds开发Linux内核初版2年1992-1995与GNU工具结合,形成完整操作系统3年1995-2000Red Hat、SUSE等商业发行版出现4年至今2000企业级应用普及,国产发行版崛起主流Linux发行版分为两大系列基于Red Hat的RHEL、CentOS、Fedora,以及基于Debian的Ubuntu、Mint等近年来,中国的麒麟操作系统、统信UOS和华为的EulerOS等国产Linux发行版快速发展,已在政府、金融、电信等关键领域实现规模化应用运维工程师必备能力Linux专家级能力自动化架构设计、性能优化、安全加固进阶技能Shell脚本编程、监控系统管理、容器技术基础知识Linux命令、文件系统、用户管理、网络配置企业对Linux运维工程师的要求不仅限于技术层面,还包括沟通协作、问题解决、文档编写等软技能根据招聘数据,超过80%的企业要求运维人员具备基本的编程能力和自动化工具使用经验虚拟化基础及环境搭建虚拟化技术原理常用虚拟化软件虚拟化技术通过软件模拟硬件资源,VMware Workstation/Player功能将一台物理服务器划分为多个虚拟丰富,适合企业和个人机,每个虚拟机拥有独立的操作系统VirtualBox开源免费,跨平台支持和应用程序,相互隔离但共享底层硬Hyper-V Windows自带,性能优良件资源虚拟化运维优势资源隔离,提高硬件利用率快速部署,支持快照和模板灾难恢复,便于备份与迁移系统安装(为例)Linux RHEL系统镜像获取与校验从Red Hat官方网站下载RHEL镜像(需要订阅)或CentOS镜像(免费替代品)下载完成后,使用SHA256校验工具验证镜像完整性,确保没有被篡改或损坏虚拟机创建与配置在虚拟化软件中创建新虚拟机,配置适当的CPU、内存(至少2GB)、硬盘(至少20GB)资源,并设置网络连接方式(桥接/NAT)系统安装与初始化启动虚拟机并选择ISO镜像,按照安装向导设置语言、分区方案、软件包选择和网络配置,创建root密码和普通用户,完成安装后进行初次登录和基本设置多系统安装与差异发行版包管理器默认文件系默认防火墙适用场景统RHEL/Cent RPM/YUM/XFS firewalld企业服务器OS DNFUbuntuDPKG/APT ext4UFW开发环境麒麟/UOS RPM/APT ext4firewalld/U政府/国企变种FW各Linux发行版安装流程大同小异,但存在一些关键差异Ubuntu安装界面更加友好,支持中文;CentOS安装选项更丰富,适合专业用户;国产系统如银河麒麟和统信UOS针对国内环境优化,预装了中文输入法和办公软件系统启动与关机流程阶段BIOS/UEFI硬件自检,识别启动设备阶段BootloaderGRUB加载内核与initramfs内核初始化识别硬件,挂载根文件系统用户空间初始化systemd/init启动系统服务系统关机和重启命令包括shutdown(可设置延时和提示消息)、halt(停止所有进程但不断电)、poweroff(完全断电)、reboot(重启系统)例如,执行shutdown-h now立即关机,shutdown-r+5表示5分钟后重启登录方式与初识Linux Shell本地登录远程登录直接在物理机器或虚拟机控制台输入用户名和密码进行登录,登录后获通过网络从其他计算机连接到Linux服务器,最常用的是SSH协议得一个终端会话•SSH命令:ssh username@server_ip•图形界面登录(GDM/SDDM/LightDM)•Windows下使用PuTTY或MobaXterm•文本控制台登录(tty1-tty6)•密钥认证方式更安全•通过Ctrl+Alt+F1至F6切换虚拟控制台Shell是用户与Linux内核交互的接口,负责解释用户命令并传递给系统Bash(Bourne AgainShell)是Linux中最常用的Shell,提供命令历史、自动补全、管道操作等功能其他常见Shell包括Zsh、Fish等,各有特色常用命令基础文件与目录操作•ls:列出目录内容•cd:切换目录•pwd:显示当前路径•mkdir/rmdir:创建/删除目录文件管理•touch:创建空文件•cp:复制文件或目录•mv:移动或重命名•rm:删除文件或目录查找与帮助•find:文件查找•which:定位命令路径•man/info:查看手册•--help:命令帮助选项在Linux中,路径表示法有绝对路径(以/开头)和相对路径两种特殊路径符号包括.(当前目录)、..(上级目录)、~(用户主目录)通配符可以简化文件操作,如*匹配任意字符、匹配单个字符、[]匹配指定范围内字符目录管理实操(根目录)//bin,/sbin所有目录的起点基本命令和系统命令/mnt,/media/home挂载点用户个人目录/var/etc经常变化的数据系统配置文件Linux文件系统层次标准(FHS)定义了目录结构和内容,确保不同发行版之间的一致性除了基本目录外,/usr存放应用程序,/opt用于附加软件包,/tmp存放临时文件,/dev包含设备文件,/proc和/sys提供系统信息文件查看与编辑命令功能常用选项使用场景cat显示整个文件内容-n显示行号查看小文件more/less分页显示空格下一页,q退出查看大文件head/tail显示文件头/尾部-n行数,-f实时查看日志文件grep文本搜索-i,-r,-A,-B,-C查找特定内容vim是Linux中最强大的文本编辑器之一,具有三种基本模式正常模式(默认,用于导航和复制粘贴)、插入模式(按i进入,用于编辑文本)和命令行模式(按:进入,执行保存、退出等操作)基本操作包括:w保存,:q退出,:wq保存并退出,:q!强制退出不保存文本编辑器高级用法vi/vim1导航与跳转除了箭头键外,还可使用hjkl控制光标移动,gg跳到文件开头,G跳到文件末尾,:n跳到第n行,Ctrl+f/Ctrl+b翻页,w/b按单词移动2搜索与替换/pattern向下搜索,pattern向上搜索,n查找下一个,N查找上一个,:%s/old/new/g全文替换,:n,ms/old/new/g在n到m行间替换3批量编辑v进入可视模式选择文本,V选择整行,Ctrl+v进入块选择模式,可进行矩形区域操作,yy复制行,dd删除行,p粘贴,u撤销多窗口与标签:split水平分割窗口,:vsplit垂直分割,Ctrl+w加方向键切换窗口,:tabnew创建新标签页,gt/gT切换标签文件权限与用户体系入门用户和组的概念权限三元组Linux是多用户系统,每个用户有唯一的用户IDUID,可以属于多个Linux文件权限由三个部分组成所有者权限、所属组权限和其他用户组root用户UID=0拥有最高权限,可执行所有操作系统用户权限每部分包含读r、写w和执行x三种权限UID1000用于运行服务,普通用户UID≥1000用于日常使用使用ls-l命令可查看文件权限,如-rwxr-xr--表示所有者有读写执行用户信息存储在/etc/passwd文件中,组信息存储在/etc/group中,密权限,所属组有读和执行权限,其他用户只有读权限码信息(加密)存储在/etc/shadow中用户管理基础命令包括useradd创建用户,usermod修改用户属性,userdel删除用户,passwd设置密码,groupadd创建组,groupmod修改组,groupdel删除组,id查看用户身份,su切换用户权限管理是Linux安全的基础,遵循最小权限原则只授予用户完成任务所需的最低权限在企业环境中,通常建立基于角色的权限体系,不同部门和职能的用户有不同的权限级别命令详解chown/chmod命令修改文件权限命令更改所有者和组chmod chownchmod可使用符号法或数字法修改权限chown user file(更改所有者)符号法chmod u+x,g-w,o=rfile(u=所有chown user:group file(同时更改所有者和组)者,g=组,o=其他,a=所有)chown:group file(只更改组)数字法chmod754file(7=rwx,5=r-x,4=r--)添加-R选项可递归修改目录下所有文件常用权限755目录/执行文件,644普通文件,600敏感文件高级权限管理特殊权限SUID
4、SGID
2、Sticky Bit1ACL访问控制列表更精细的权限控制getfacl查看ACL,setfacl设置ACLfacl-m u:user:rwx file(为指定用户设置权限)权限错误是常见的系统问题来源典型案例包括Web服务无法访问文件(解决检查网站目录权限,确保Web服务用户有读取权限);数据库无法写入(解决检查数据目录所有权和权限);脚本无法执行(解决添加执行权限chmod+x)在修改权限时要特别小心,尤其是使用递归选项(-R)时错误的权限设置可能导致系统无法正常工作或产生安全漏洞建议先在测试环境验证权限更改的效果用户账户安全与配置sudo密码策略设置配置密码复杂度、过期策略和历史记录账户锁定配置设置失败尝试次数和锁定时间权限授予sudo基于最小权限原则分配管理权限日志审计实施记录和监控所有特权操作用户账户管理的关键命令包括passwd修改密码,passwd-l锁定账户,passwd-u解锁账户,usermod--expiredate设置账户过期日期,chage管理密码策略例如,chage-M90-m7-W14username设置密码90天过期,最小使用7天,过期前14天提醒sudo系统允许授权用户以root身份执行特定命令/etc/sudoers文件控制sudo权限,应使用visudo命令编辑以避免语法错误典型配置格式为用户名主机=以谁身份命令,如admin ALL=ALL/usr/bin/apt企业中通常创建不同的管理组,如数据库管理员组、网络管理员组,分别授予相应的sudo权限软件包管理()Linux RPM/YUM/DNF包格式RPM基本软件包单元,包含二进制文件、配置文件和依赖关系工具YUM/DNF自动解决依赖关系,从软件源获取包软件源配置官方、第三方和本地仓库管理系统更新维护安全补丁和功能更新管理RPM命令用于直接管理软件包rpm-i package.rpm安装,rpm-e package卸载,rpm-q package查询,rpm-qa列出所有已安装包,rpm-qf/path/to/file查找文件属于哪个包RPM操作不自动解决依赖问题,主要用于特定场景YUM/DNF提供更高级的包管理yum install/dnf install安装软件,yum remove/dnf remove卸载,yum update/dnf update更新系统,yum search/dnf search搜索软件配置文件位于/etc/yum.repos.d/目录,添加自定义源可创建.repo文件企业环境通常建立内部源服务器(使用createrepo工具),提高安装速度并确保版本一致性源码编译与常见问题获取与解压源码下载源码包(通常为.tar.gz或.tar.bz2格式)并解压使用wget下载,tar-zxvf package.tar.gz或tar-jxvf package.tar.bz2解压源码通常包含README和INSTALL文件,提供编译指南配置与编译进入源码目录,执行./configure脚本设置编译选项,如安装路径、功能模块等然后执行make命令进行编译,将源码转换为二进制文件configure过程会检查系统环境和依赖库安装与清理编译成功后,执行make install安装程序,通常需要root权限可选择make clean清理临时文件,或make uninstall卸载软件使用checkinstall替代make install可生成软件包,便于管理源码编译的主要优势是可以自定义编译选项,优化性能,添加或删除特定功能但缺点是管理复杂,升级和卸载不便,且可能引入兼容性问题通常只在标准软件包无法满足需求时才使用此方法常见编译问题包括缺少依赖库(解决yum install/apt install相应开发包);编译器错误(解决安装gcc/g++及开发工具);权限问题(解决检查目录权限);版本冲突(解决使用隔离环境如虚拟机)保存配置和编译日志有助于排查问题计划任务与自动化计划任务定时器crontab systemdcrontab是Linux最常用的定时任务工具,语法格式为现代Linux系统的另一种计划任务方式,具有更强的依赖管理和日志功能创建.timer和.service两个文件定义任务分时日月周命令*****command使用systemctl start/enable激活定时器通过systemctl list-timers查看所有定时器示例适合系统服务相关的定时任务•02***/backup.sh(每天2点执行备份)•*/5****/check.sh(每5分钟检查一次)•09-18**1-5/work.sh(工作日9点至18点整点执行)crontab-e编辑,crontab-l查看,crontab-r删除自动化运维最常见的应用是日志轮转和数据备份日志轮转通过logrotate工具实现,配置位于/etc/logrotate.d/目录,可设置轮转周期、压缩和保留策略数据备份可结合crontab和脚本实现,如每日增量备份、每周全量备份,并自动清理过期备份设置计划任务的最佳实践指定完整路径,重定向输出(如command/var/log/cron.log21),使用锁文件防止任务重叠,测试脚本独立运行无误后再设置定时任务对于关键任务,建议设置监控和告警机制服务管理与systemctl功能传统方式service现代方式systemctl启动服务service nginxstart systemctl start nginx停止服务service nginxstop systemctlstop nginx重启服务service nginxrestart systemctl restart nginx重载配置service nginxreload systemctlreload nginx查看状态service nginxstatus systemctlstatus nginx开机自启chkconfig nginxon systemctl enable nginxsystemd是现代Linux系统的初始化系统和服务管理器,提供了更强大的功能与传统SysVinit相比,systemd支持并行启动服务、按需启动、自动依赖处理、更细粒度的资源控制等特性,显著提高了系统启动速度和服务管理效率systemd单元文件位于/etc/systemd/system/和/usr/lib/systemd/system/目录,扩展名表示类型,如.service(服务)、.timer(定时器)、.socket(套接字)等创建自定义服务需编写.service文件,指定Description(描述)、ExecStart(启动命令)、After(依赖)等字段使用systemctl daemon-reload重新加载配置进程与资源管理进程监控命令•ps aux显示所有进程详情•pstree树状显示进程关系•top实时动态进程监控•htop增强版top,更直观优先级管理•nice-n Ncommand以指定优先级启动•renice-n N-p PID调整运行中进程优先级•优先级范围-20最高至19最低•普通用户只能降低优先级信号控制•kill-9PID强制终止进程•kill-15PID正常终止默认•killall/pkill按名称终止进程•常见信号TERM
15、KILL
9、HUP1Linux进程有不同状态R运行、S休眠、D不可中断休眠、Z僵尸、T停止僵尸进程是已终止但未被父进程回收的进程,大量僵尸进程可能表明程序存在问题使用ps aux|grep Z可查找僵尸进程,通常需要重启父进程解决在资源受限环境中,可使用cgroups控制组限制进程资源使用例如,限制某个服务使用不超过50%的CPU和2GB内存在新版systemd中,可通过服务单元文件中的CPUQuota=50%和MemoryLimit=2G实现资源限制,防止单个服务消耗过多资源导致系统不稳定内存和监控CPUCPU使用率%内存使用率%磁盘与分区管理磁盘识别与分区规划使用lsblk或fdisk-l查看系统中的磁盘设备设备命名为/dev/sda(第一个SATA/SCSI磁盘)、/dev/sdb(第二个磁盘)等,分区则为/dev/sda
1、/dev/sda2等规划分区时考虑用途、大小和文件系统类型创建分区表与分区使用fdisk(传统MBR分区)或parted(支持GPT分区)工具创建分区命令示例fdisk/dev/sdb进入交互模式,使用n创建新分区,p设为主分区,指定起始和结束扇区,w保存更改GPT支持超过2TB磁盘和多于4个主分区格式化与挂载创建文件系统mkfs.ext4/dev/sdb1(ext4)或mkfs.xfs/dev/sdb1(XFS)创建挂载点mkdir/mnt/data临时挂载mount/dev/sdb1/mnt/data永久挂载编辑/etc/fstab文件,添加/dev/sdb1/mnt/data ext4defaults02磁盘扩容案例云服务器增加硬盘空间后,使用fdisk-l确认新增空间;使用fdisk重新创建分区(删除原分区并创建新的更大分区,保持起始位置不变);执行partprobe通知内核分区表变化;使用resize2fs/dev/sda1(ext4)或xfs_growfs/mnt/data(XFS)扩展文件系统磁盘性能监控与优化使用iostat-x监控磁盘I/O性能;使用fio工具进行磁盘性能测试;对于高I/O应用,考虑使用SSD或调整调度算法(echo deadline/sys/block/sda/queue/scheduler)定期使用smartctl-a/dev/sda检查硬盘健康状态,及早发现潜在问题逻辑卷管理LVM逻辑卷LV向用户和应用程序提供的存储空间卷组VG物理卷的集合,可划分为多个逻辑卷物理卷PV物理硬盘或分区,LVM的基本存储单元LVM操作步骤示例首先创建物理卷(pvcreate/dev/sdb1/dev/sdc1),然后创建卷组(vgcreate data_vg/dev/sdb1/dev/sdc1),最后创建逻辑卷(lvcreate-L50G-n data_lv data_vg)创建文件系统并挂载mkfs.xfs/dev/data_vg/data_lv和mount/dev/data_vg/data_lv/mnt/dataLVM的主要优势是灵活性可以在线扩展卷组(vgextend data_vg/dev/sdd1)和逻辑卷(lvextend-L+20G/dev/data_vg/data_lv),无需停机;支持创建快照(lvcreate-s-n snap_lv-L5G/dev/data_vg/data_lv),用于备份或测试;允许在不同物理磁盘间迁移数据(pvmove)常见问题包括设备忙(umount或关闭使用该卷的进程)、空间不足(检查卷组可用空间)、元数据损坏(使用vgcfgrestore恢复)文件系统进阶文件系统特点优势适用场景ext4传统稳定兼容性好,修复工具通用场景,个人服务丰富器XFS高性能大文件处理快,在线企业服务器,数据库扩容Btrfs现代化快照,校验和,自修需要高级特性的系统复ZFS企业级数据完整性,RAID存储服务器,关键数功能据文件系统检测与修复是重要的维护工作ext系列使用fsck.ext4检测修复,如fsck.ext4-f/dev/sda1(-f强制检查);XFS使用xfs_repair工具,如xfs_repair-v/dev/sda2(-v详细输出)检查前必须卸载文件系统或以只读方式挂载,根文件系统可在启动时添加参数进行检查挂载参数优化可显著提升性能常用优化参数包括noatime(不更新访问时间,减少写操作)、nodiratime(不更新目录访问时间)、data=writeback(ext4异步写入,提高性能但降低一致性)、discard(SSD实时TRIM)数据库服务器常用XFS配置mount-onoatime,nodiratime,logbufs=8,logbsize=256k/dev/mapper/data-lv/var/lib/mysql,提高日志写入性能不同应用场景需选择适合的文件系统和参数配置设备与驱动管理/dev/sd*/dev/nvme*SATA/SCSI磁盘设备NVMe固态硬盘/dev/random/dev/st*随机数生成器磁带设备/dev/tty*/dev/sr*终端设备光盘设备Linux中的设备文件遵循一切皆文件哲学,通过文件接口访问硬件设备设备文件分为字符设备(如终端,顺序访问)和块设备(如磁盘,随机访问)udev系统负责动态创建和管理设备文件,规则定义在/etc/udev/rules.d/目录下,可实现自定义设备命名和权限挂载外部存储设备(如U盘)流程插入设备后使用lsblk或dmesg查看设备名(如/dev/sdc1);创建挂载点mkdir/mnt/usb;挂载设备mount/dev/sdc1/mnt/usb;完成操作后卸载umount/mnt/usb挂载ISO镜像类似mount-o loopimage.iso/mnt/iso现代桌面环境通常自动挂载可移动设备内核模块管理命令lsmod列出已加载模块;modinfo查看模块信息;modprobe加载模块及其依赖;rmmod卸载模块驱动问题排查查看dmesg输出;检查/var/log/messages;确认硬件兼容性日志管理与排错核心系统日志应用服务日志/var/log/messages(CentOS)或/var/log/httpd/或/var/log/apache2/Web服务/var/log/syslog(Ubuntu)一般系统消息器日志/var/log/secure或/var/log/auth.log认证相关消/var/log/mysql/数据库服务器日志息/var/log/maillog或/var/log/mail.log邮件服务/var/log/boot.log系统启动信息日志/var/log/dmesg内核缓冲区消息/var/log/cron计划任务日志日志查看工具tail-f实时查看日志尾部grep按关键词过滤日志journalctl查询systemd日志less+F分页查看并跟踪新内容日志轮转通过logrotate实现,防止日志文件无限增长占满磁盘配置文件位于/etc/logrotate.conf和/etc/logrotate.d/目录下,可设置轮转周期(daily/weekly/monthly)、保留数量(rotate7)、压缩方式(compress)和轮转后操作(postrotate脚本)自定义应用日志轮转只需在/etc/logrotate.d/创建配置文件常见日志排错技巧使用grep搜索关键词(ERROR、FATAL、WARNING);结合时间范围缩小查找(grepMay
10.*ERROR/var/log/messages);使用awk/sed提取特定字段;journalctl-p err展示错误级别以上消息;journalctl-b显示本次启动日志;for服务问题使用journalctl-u service_name日志分析是故障排除的第一步,掌握日志检索技巧可大大提高问题解决效率网络配置基础网络接口命令配置文件示例传统命令RHEL/CentOS/etc/sysconfig/network-scripts/ifcfg-eth0•ifconfig eth
0192.
168.
1.100netmask
255.
255.
255.0TYPE=EthernetBOOTPROTO=staticIPADDR=
192.
168.
1.100NETMASK=
255.
255.
255.0GATEWAY=
192.•route add default gw
192.
168.
1.
1168.
1.1DNS1=
8.
8.
8.8ONBOOT=yes•ifup/ifdown eth0现代命令•ip addradd
192.
168.
1.100/24dev eth0•ip routeadddefaultvia
192.
168.
1.1•ip linkset eth0up/downUbuntu/etc/netplan/01-netcfg.yamlnetwork:version:2ethernets:ens33:addresses:[
192.
168.
1.100/24]gateway4:
192.
168.
1.1nameservers:addresses:[
8.
8.
8.8]现代Linux系统推荐使用ip命令替代传统的ifconfig、route等工具,ip命令提供了更一致的语法和更丰富的功能ip命令常用子命令包括ip addr(地址管理)、ip link(接口管理)、ip route(路由管理)、ip neigh(ARP表管理)使用ip-s命令可查看详细的接口统计信息网络接口命名规则在新系统中已变更,不再使用eth
0、eth1等名称,而是采用可预测的命名方案,如ens33(PCI槽位+索引)、enp0s3(PCI总线号+设备号)或eno1(板载设备索引)这种命名方案确保接口名称在重启后保持一致,便于管理修改配置文件后,使用systemctlrestartNetworkManager(RHEL/CentOS)或netplan apply(Ubuntu)使配置生效测试与排查网络故障连通性测试路由追踪排查DNSping是最基本的网络检测工具,使用ICMP traceroute/tracepath工具可显示数据包经dig和nslookup命令用于DNS解析测试检协议发送回显请求常用选项-c指定发送过的路由器,帮助定位网络瓶颈工作原理查/etc/resolv.conf确认DNS服务器配置,使次数,-i设置间隔,-s修改数据包大小连续是利用TTL逐渐增加,显示每一跳的延迟用dig+trace domain.com查看完整解析过ping测试可发现网络抖动或丢包情况若对于不响应ICMP的设备,可使用traceroute程修改/etc/hosts文件可实现本地域名解ping不通,逐步检查本地IP配置、同网段-T(TCP模式)或mtr(综合追踪工具,实时析,常用于测试环境或临时解决DNS问题主机连通性、网关可达性、外网连通性更新)获取更完整路径对于复杂应用,可能需要检查/etc/nsswitch.conf中的解析顺序网络故障定位流程首先检查物理连接(网卡指示灯、线缆);确认IP配置(ip addr);测试本地连通性(ping
127.
0.
0.1);检查同网段连通性(ping网关);验证DNS解析(dig/nslookup);检查路由表(ip route);排查防火墙限制(iptables-L或firewall-cmd--list-all);检查服务监听状态(netstat-tuln或ss-tuln);使用tcpdump或wireshark抓包分析远程管理SSH协议原理认证方式SSHSSH(Secure Shell)是一种加密网络协议,用于安全远程登录和文件密码认证最简单但相对不安全,可能受到暴力破解攻击传输SSH工作在TCP/IP模型的应用层,默认端口为22,可在密钥认证更安全的方式,步骤如下/etc/ssh/sshd_config中修改SSH采用非对称加密,建立连接时客户端和服务器交换公钥,之后使用对称加密传输数据,兼顾安全性和效
1.客户端生成密钥对ssh-keygen-t rsa率
2.将公钥复制到服务器ssh-copy-id user@server
3.服务器验证~/.ssh/authorized_keys双因素认证结合密钥和一次性密码,最高安全级别SSH常用命令和选项ssh user@host(基本连接);ssh-p2222user@host(指定端口);ssh-i key_file user@host(使用私钥文件);ssh-X user@host(X11转发,图形程序);scp/sftp(安全文件传输);ssh-agent(密钥管理)SSH配置文件客户端(~/.ssh/config)可设置主机别名、默认用户等;服务端(/etc/ssh/sshd_config)控制服务行为SSH安全加固建议禁用密码认证(PasswordAuthentication no);禁止root直接登录(PermitRootLogin no);限制允许的用户或组(AllowUsers/AllowGroups);使用非标准端口;设置登录失败次数限制(通过fail2ban);启用防火墙规则限制访问源;定期更新SSH服务;使用SSH密钥长度至少4096位;配置idle timeout自动断开闲置连接防火墙与安全策略防火墙类型选择根据系统版本选择firewalld或iptables定义安全规则制定入站/出站流量控制策略配置服务与端口仅开放必要的服务和端口实施策略SELinux配置精细的访问控制现代RHEL/CentOS系统使用firewalld作为默认防火墙,管理命令包括firewall-cmd--state(查看状态);firewall-cmd--zone=public--list-all(列出规则);firewall-cmd--permanent--zone=public--add-service=http(永久添加服务);firewall-cmd--reload(重载配置);firewall-cmd--permanent--zone=public--add-port=8080/tcp(开放端口)防火墙配置应遵循默认拒绝,按需允许原则SELinux是Linux的安全增强机制,提供强制访问控制常用命令getenforce(查看状态);setenforce0/1(临时切换);sestatus(详细状态);ps-Z(进程安全上下文);ls-Z(文件安全上下文)SELinux有三种模式enforcing(强制执行)、permissive(仅警告)和disabled(禁用)许多服务问题与SELinux相关,可通过sealert-a/var/log/audit/audit.log查看违规信息,使用semanage和setsebool命令调整策略企业环境建议使用permissive模式逐步适应SELinux规则,而非完全禁用数据备份与恢复备份类型特点优势适用场景全量备份完整数据副本恢复简单快速周期性主备份增量备份仅备份变化数据备份速度快,空日常频繁备份间少差异备份自上次全备以来恢复较增量简单中等频率备份的变化常用备份工具对比tar适合创建简单的归档文件,如tar-czf backup.tar.gz/data创建压缩备份;rsync专注于高效文件同步,支持增量传输,如rsync-avz/source remote:/dest仅传输变化的文件;dd是底层工具,可创建设备或分区的完整镜像,如dd if=/dev/sdaof=/backup/disk.img用于灾难恢复;专业备份软件如Bacula和Amanda提供企业级功能,包括调度、加密和目录管理企业备份策略最佳实践实施3-2-1规则(3份副本,2种介质,1份异地存储);结合全量和增量备份(如周日全量,周一至周六增量);自动化备份流程(crontab定时执行脚本);加密敏感数据备份(使用gpg);定期验证备份有效性(随机恢复测试);备份关键配置文件(/etc目录);记录详细备份日志;设置备份轮换和保留策略(自动删除过期备份)灾备演练是验证备份有效性的关键环节,应定期进行服务进阶服务器Web安装服务器Web选择Apache或Nginx,通过包管理器安装基础配置设置基本参数,配置文档根目录和日志位置虚拟主机配置设置多个网站共享同一服务器反向代理与负载均衡配置流量转发和分发规则配置SSL/TLS启用HTTPS加密保护数据传输Apache与Nginx对比Apache历史悠久,模块丰富,配置灵活,适合复杂动态内容;Nginx设计轻量,高并发性能优越,内存占用低,适合静态内容和反向代理两者在企业中经常协同使用Nginx作为前端处理静态资源和负载均衡,Apache作为后端处理动态内容Web服务器性能调优关键参数工作进程/线程数(通常设为CPU核心数的1-2倍);连接超时(根据应用类型调整,避免资源耗尽);KeepAlive设置(长连接减少握手开销);文件描述符限制(ulimit-n设置);缓冲区大小优化;启用压缩(gzip)减少传输量;配置浏览器缓存控制监控Web服务性能可使用ab(Apache Benchmark)或wrk等工具进行压力测试,结合Prometheus+Grafana实现实时监控文件共享FTP/Samba/NFS服务服务FTP SambaFTP(文件传输协议)用于Internet上传输文件,常实现Linux与Windows间的文件共享,基于用vsftpd实现SMB/CIFS协议基本配置/etc/vsftpd/vsftpd.conf核心配置/etc/samba/smb.conf主要功能匿名访问、本地用户访问、虚拟用户用户管理smbpasswd-a user添加用户安全加固限制目录访问、禁用匿名上传、使用访问控制基于用户/IP的权限限制FTPS加密服务NFSUnix/Linux系统间高性能文件共享解决方案服务端/etc/exports定义共享目录和权限客户端mount-t nfsserver:/shared/mnt/nfs性能优化适当调整rsize/wsize参数FTP服务配置要点启用被动模式(passive_enable=YES)解决防火墙问题;设置数据端口范围(pasv_min_port和pasv_max_port)便于防火墙配置;启用日志(xferlog_enable=YES)跟踪传输情况;配置chroot(chroot_local_user=YES)限制用户访问范围;使用TLS/SSL加密保护数据传输安全文件共享服务选择建议内部Linux服务器之间推荐使用NFS,性能最佳;与Windows客户端交互使用Samba;面向Internet的公共下载使用FTP/FTPS或HTTP;对性能要求极高的场景可考虑使用GlusterFS或Ceph等分布式文件系统无论选择哪种服务,都应注意权限设置和安全加固,防止未授权访问和数据泄露数据库基础运维备份与恢复用户与权限管理完整备份mysqldump-u root-p--all-databases数据库安装与初始化创建数据库CREATE DATABASEmydb;创建用户full_backup.sql单库备份mysqldump-u root-p使用包管理器安装MySQL/MariaDB yum install CREATE USER myuser@localhost IDENTIFIED BY mydbmydb_backup.sql恢复mysql-u root-pmariadb-server或apt installmysql-server启动服password;授权GRANT ALLPRIVILEGES ONmydbmydb_backup.sql定时备份创建cron任务,务systemctlstartmariadb运行初始化脚本mydb.*TO myuser@localhost;允许远程连接结合日期命名文件使用xtrabackup或mariabackup等mysql_secure_installation,设置root密码,删除匿名用CREATEUSERmyuser@%IDENTIFIEDBY工具实现热备份户,禁止远程root登录,删除测试数据库,重新加载权限password;(需配置防火墙开放3306端口)表数据库性能监控与优化使用mysqltuner.pl脚本分析配置;监控关键指标(QPS、TPS、慢查询、连接数);调整my.cnf参数(innodb_buffer_pool_size、max_connections等);创建适当索引提高查询速度;定期分析表(ANALYZE TABLE)和优化表(OPTIMIZE TABLE);配置慢查询日志找出性能瓶颈;对于大型数据库考虑读写分离架构运维最佳实践定期检查错误日志(/var/log/mysql/error.log);监控磁盘空间使用;设置数据库警报(连接数、复制延迟、磁盘使用率);实施主从复制提高可用性;制定清晰的备份策略和恢复流程;定期进行恢复测试验证备份有效性;遵循最小权限原则分配用户权限;记录所有管理操作形成审计跟踪邮件服务与监控告警命令行邮件工具监控告警集成Linux系统提供多种命令行邮件工具邮件是最常用的告警通知渠道•mail最基本的邮件发送/接收工具•系统级监控结合cron和shell脚本•mailx增强版mail,支持更多选项•资源阈值告警磁盘空间、CPU负载、内存使用•mutt功能丰富的终端邮件客户端•服务状态变更服务启停、异常重启•sendmail/postfix完整邮件传输代理•安全事件通知登录失败、异常访问•备份完成状态成功/失败通知基本用法示例脚本监控磁盘使用率并发送告警echo内容|mail-s主题recipient@example.comcat file.txt|mail-s文件内容-a attachment.pdf user@domain.com配置外部SMTP服务许多企业环境不直接运行邮件服务器,而是通过配置mail命令使用外部SMTP服务发送邮件步骤包括安装mailx或postfix;配置/etc/mail.rc或/etc/postfix/main.cf指定SMTP服务器、端口、认证信息;测试发送对于需要加密的SMTP连接,可使用stunnel或内置的TLS支持邮件监控最佳实践设置合理的告警阈值,避免过多误报;实施告警分级(严重、警告、信息);汇总非紧急告警减少邮件数量;添加告警上下文信息便于分析;提供问题解决建议或链接;配置轮换值班邮件组;对关键系统使用多渠道告警(邮件+短信+即时通讯);实施告警升级机制(未处理告警再次通知或通知上级);定期审查告警配置,删除不必要的告警脚本编程基础Shell脚本基础语法流程控制结构Shell脚本基本结构以#!/bin/bash开头(shebang行)条件判断变量定义VAR=value(等号两边不能有空格)if[condition];then commandselif[condition];then commandselse变量引用$VAR或${VAR}(推荐使用花括号)commandsfi特殊变量$0(脚本名)、$1-$9(位置参数)、$#(参数数量)、$(上一命令返回值)、$$(当前PID)引号区别双引号内变量会展开,单引号内变量保持字面值命令替换result=$command或result=`command`数学运算result=$expression或let result=expression循环结构#for循环for varin item1item2item3;do commandsdone#while循环while[condition];do commandsdone退出状态exit0(成功),exit1(失败)常用条件测试[-f file](文件存在且是普通文件);[-d dir](目录存在);[-z string](字符串长度为0);[-n string](字符串长度不为0);[str1=str2](字符串相等);[num1-eq num2](数值相等,类似的有-ne、-gt、-lt、-ge、-le);[condition1-a condition2](逻辑与);[condition1-o condition2](逻辑或)现代bash也支持[[]]扩展测试,功能更强大Shell脚本调试技巧使用set-x启用调试模式,显示每条执行的命令;set-e使脚本在遇到错误时立即退出;添加echo语句显示中间变量值;使用shellcheck工具检查脚本语法和常见错误;分步测试复杂脚本;为关键步骤添加日志记录;验证用户输入避免安全问题良好的脚本应包括注释、帮助信息、错误处理和退出状态码脚本项目案例Shell批量用户管理脚本示例从CSV文件读取用户信息,自动创建用户、设置密码、分配组、创建主目录;检查用户是否已存在,防止重复创建;生成操作日志记录所有动作;支持批量删除、禁用或启用用户;包含错误处理和状态报告功能系统巡检脚本功能收集系统基本信息(主机名、IP、内核版本);检查系统资源使用情况(CPU、内存、磁盘、网络);监控关键服务状态;检查系统日志中的错误信息;扫描安全漏洞如弱密码、异常端口;生成HTML格式报告并通过邮件发送;支持多服务器并行巡检脚本优化技巧使用函数模块化代码;添加错误处理和超时控制;优化循环处理大量数据;使用后台进程处理耗时操作;添加日志和调试信息正则表达式与文本处理工具主要功能典型用法优势grep文本搜索grep pattern file快速过滤文件内容sed流编辑器sed s/old/new/g file文本替换与编辑awk文本分析awk{print$1}file结构化数据处理cut列提取cut-d,-f1,3file简单列操作sort排序sort-k2,2nfile多种排序方式uniq去重sort file|uniq-c统计出现次数正则表达式是文本处理的强大工具,常用元字符包括.(匹配任意单个字符);*(前一字符重复0次或多次);+(前一字符重复1次或多次);(前一字符重复0次或1次);^(行首);$(行尾);[](字符集,如[a-z]匹配任意小写字母);\(转义字符);|(或操作符);(分组)例如,grep^log|error.*\.txt|log$directory/*匹配以log或error开头,以.txt或.log结尾的文件文本处理实战日志分析常用管道组合sed1,10d access.log|grep404|awk{print$1}|sort|uniq-c(找出前10行之后的所有产生404错误的IP地址及次数);数据提取与转换awk-F,{if$3100print$1,$2,$3}data.csvfiltered.csv(从CSV文件提取第三列大于100的记录);配置文件批量修改sed-i s/max_connections=100/max_connections=200/g/etc/my.cnf(将数据库连接数从100改为200);多行文本处理可结合sed的地址范围和n,p命令,或使用awk的多行模式处理系统安全加固操作强化认证机制密钥认证、多因素验证服务安全配置最小化服务、安全参数系统更新维护安全补丁及时部署SSH安全加固实施步骤编辑/etc/ssh/sshd_config,设置PermitRootLogin no禁止root直接登录;设置PasswordAuthentication no禁用密码认证,要求使用密钥认证;使用ssh-keygen-t ed25519生成更安全的密钥;配置AllowUsers或AllowGroups限制允许登录的用户;更改默认端口Port2222减少自动扫描风险;设置ClientAliveInterval300和ClientAliveCountMax2自动断开闲置连接;限制MaxAuthTries3降低暴力破解风险;重启SSH服务systemctlrestart sshd使配置生效系统服务最小化原则使用systemctl list-unit-files--type=service查看所有服务;禁用不必要服务systemctl disable--now unused_service;检查开放端口ss-tulpn并关闭不需要的端口;配置防火墙仅允许必要服务;移除不必要的软件包减少攻击面;禁用不使用的网络协议;限制cron和at使用权限;移除或禁用不使用的用户账户;实施文件系统权限最小化;配置自动安全更新;设置安全的umask默认权限以上措施应形成checklist,定期审计确保持续合规运维自动化工具入门编写剧本执行部署用YAML语法定义任务和目标在目标主机执行配置和安装优化迭代验证结果改进剧本提高效率确认部署状态并记录Ansible是目前最流行的开源自动化工具,采用无代理架构(仅需SSH),使用YAML描述配置,具有学习曲线平缓、部署简单等优势基本组件包括清单文件(inventory)定义目标主机;剧本(playbook)描述任务序列;模块(module)执行特定功能;角色(role)组织和复用配置;变量(variable)提供灵活性;模板(template)生成动态配置典型Ansible部署案例Web服务器集群配置剧本包含多个角色common(基础系统配置)、nginx(安装配置Web服务器)、app(部署应用代码)、db(配置数据库连接)使用不同环境变量文件(dev.yml、prod.yml)实现环境隔离;使用template模块根据变量生成配置文件;使用handler处理服务重启;使用tag标记任务便于选择性执行;使用vault加密敏感信息执行命令ansible-playbook-i inventory/prod web-deploy.yml自动化不仅提高效率,还确保一致性,降低人为错误风险监控体系构建监控平台监控系统Zabbix NagiosPrometheus+Grafana企业级开源监控解决方案,支持分布式监控,自动发经典监控工具,具有丰富的插件生态系统,强大的故现代化监控组合,Prometheus负责时序数据收集与现,强大的告警和模板系统适合大型复杂环境,提障通知机制基于检查机制监控网络服务、主机资源存储,Grafana提供可视化界面特别适合云原生和供完整的IT基础设施监控,包括网络设备、服务器和和应用状态,支持层次化配置和分布式监控架构容器化环境,支持多维数据模型和强大的查询语言应用程序监控系统部署关键步骤规划监控架构(单机或分布式);准备数据库(通常为MySQL/PostgreSQL);安装监控服务端;部署客户端代理(agent)或配置无代理监控;导入监控模板;配置主机组和监控项;设置触发器和告警规则;配置通知渠道(邮件/短信/webhooks);设置数据保留策略;配置用户权限和仪表板核心监控指标体系系统级(CPU使用率、负载、内存使用、磁盘I/O、网络流量);服务级(进程状态、端口可用性、响应时间、错误率);应用级(吞吐量、延迟、错误率、队列长度);业务级(用户活跃度、交易量、成功率)告警阈值设置原则基于基准测试确定正常范围;考虑昼夜和周期性变化;设置渐进式阈值(警告、严重、灾难);避免频繁误报;关联多个指标判断(如CPU+内存+磁盘);配置智能抑制规则减少告警风暴容器初步Docker容器与虚拟机的区别基础命令Docker虚拟机包含完整操作系统内核,隔离程度高,资源消耗大,启动慢镜像管理容器共享主机内核,轻量级隔离,资源消耗小,启动快速•docker pullimage:tag-拉取镜像•docker images-列出本地镜像•docker rmiimage-删除镜像•docker build-t name:tag.-构建镜像容器管理•docker run-d-p80:80image-后台运行容器•docker ps-a-列出所有容器•docker stop/start container-停止/启动容器•docker rmcontainer-删除容器•docker logscontainer-查看容器日志•docker exec-it containerbash-进入容器Docker环境搭建在CentOS上,使用yuminstall-y yum-utils添加工具;设置镜像源yum-config-manager--add-repo https://download.docker.com/linux/centos/docker-ce.repo;安装Docker yuminstall docker-ce docker-ce-clicontainerd.io;启动并设置开机自启systemctlenable--now docker;验证安装docker runhello-world;配置镜像加速器提高下载速度;考虑安装docker-compose简化多容器应用管理云计算与运维Linux云主机(弹性计算服务器ECS)管理特点通过Web控制台或API创建和管理;支持按需付费模式(按小时/按量)或包年包月;可以灵活调整配置(CPU、内存、存储);提供镜像市场快速部署应用;支持快照和自动备份;实例组和伸缩组实现自动扩缩容;安全组替代传统防火墙;云监控提供统一监控平台云环境下Linux运维最佳实践使用密钥对认证替代密码;实施最小权限原则配置安全组;使用私有网络VPC隔离业务;配置弹性伸缩应对流量波动;利用负载均衡分发流量;使用对象存储替代本地文件存储;将敏感配置迁移至密钥管理服务;使用云监控设置告警;定期创建快照或镜像备份;编写基础设施即代码IaC实现自动化部署;应用混合云策略平衡成本和性能云环境下运维工作更注重架构设计、自动化和成本优化,而非传统的硬件维护运维文档规范化运维文档类型架构文档描述系统架构、组件关系和技术选型,帮助团队理解整体设计;操作手册详细记录日常操作步骤和注意事项,确保操作一致性;应急预案针对各类突发事件的处理流程和责任分工,减少故障影响;变更文档记录系统变更内容、影响范围和回滚方案;故障报告分析故障原因、解决过程和预防措施文档规范要素统一格式使用模板确保格式一致;版本控制记录文档版本、修改人和修改内容;清晰结构使用标题、目录和编号提高可读性;精确用词避免模糊表述,使用准确术语;图文并茂使用流程图、架构图辅助说明;定期审核确保文档内容与实际情况一致;权限管理控制敏感文档访问权限知识共享平台Wiki系统如Confluence、MediaWiki,适合团队协作编辑;文档管理系统如Docusaurus、GitBook,支持版本控制;问题跟踪系统如Jira、Redmine,关联文档与工单;代码仓库如GitLab、GitHub,将文档与代码结合;内部论坛讨论技术问题并沉淀为知识库运维文档是团队知识的沉淀和传承,对于提高团队效率、降低人员依赖度、保障系统稳定性具有重要意义良好的文档习惯应当成为团队文化的一部分,新的操作或解决方案必须及时记录,每次故障必须有复盘文档,每次变更必须有详细记录运维流程与协同实战工单系统紧急响应流程跨部门协作工单系统是IT服务管理的核心工具,记录和跟踪所紧急响应流程定义了面对系统故障或安全事件时的运维工作需要与开发、测试、产品、安全等多个部有服务请求、问题报告和变更申请现代工单系统处理步骤,包括快速评估、风险分级、响应团队组门协作有效的协作机制包括定期联合会议、明通常集成知识库、自动分派、SLA跟踪和满意度调建、沟通机制和升级路径明确的流程可减少混确的责任界定、统一的协作平台、共同的目标设定查等功能,实现服务全生命周期管理乱,提高处理效率,降低故障影响和透明的信息共享标准化运维流程遵循ITIL最佳实践,包括事件管理(快速恢复服务)、问题管理(根本原因分析)、变更管理(评估风险并审批)、发布管理(测试与部署)、配置管理(维护CMDB)、可用性管理(确保SLA达成)、容量管理(资源规划)和服务级别管理(设定与监控SLA)高效协同的关键点包括明确的RACI矩阵(Responsible负责执行,Accountable负责结果,Consulted需要咨询,Informed需要通知);统一的沟通渠道和工具;规范的交接流程和文档;定期的跨团队同步会议;共同的服务目标和激励机制;预先定义的升级路径;不指责的文化氛围,鼓励透明和学习运维团队应成为各部门的桥梁,促进信息流通和问题快速解决运维常见面试考题解析60%25%15%技术实操题占比架构设计题占比软技能考察占比命令使用、故障排查、性高可用、扩展性、安全性沟通协作、压力处理、学能优化习能力高频命令考题包括文件查找(find/path-name pattern-type f-mtime+30);文本处理(grep/awk/sed);性能诊断(top/vmstat/iostat);网络故障排查(ping/traceroute/netstat);权限管理(chmod/chown/sudo);进程管理(ps/kill/nice);磁盘管理(df/du/fdisk/lvm);服务配置(nginx/mysql/ssh);系统启动流程和排错面试中不仅要回答怎么做,还要解释为什么这样做,展示原理理解场景分析题往往没有标准答案,重点考察解决问题的思路和方法论典型场景包括系统负载突然升高如何排查;数据库响应缓慢如何优化;网站间歇性不可访问如何诊断;磁盘空间耗尽如何紧急处理;服务器被入侵如何应对回答此类问题应遵循明确问题→收集信息→分析原因→制定方案→验证效果→总结经验的逻辑,展示系统化思维和实战经验课后实训与扩展方向企业级项目实践搭建完整Web应用架构,包括负载均衡、Web服务、数据库集群云原生技术学习深入容器编排、微服务架构、DevOps实践、CI/CD流水线专业认证提升RHCE、AWS/阿里云认证、Kubernetes管理员认证职业发展规划4从运维工程师到架构师、SRE、DevOps专家的进阶路径推荐实训项目构建高可用Web应用平台(使用Nginx+Keepalived实现负载均衡,Docker容器化部署应用,MySQL主从复制保障数据安全,Prometheus+Grafana监控系统状态,Ansible自动化配置管理,Shell脚本实现日常维护任务)项目应模拟真实生产环境,包含完整的文档和应急预案线上学习资源推荐Linux基金会培训课程、红帽官方学习路径、阿里云/腾讯云/华为云认证培训、GitHub优质开源项目(如awesome-sysadmin)、StackOverflow问答社区、技术博客(如酷壳、运维派)、开源技术峰会视频持续学习是运维工程师的必备素质,建议定期参与技术社区、关注行业动态、参加技术沙龙,保持知识更新课程总结与答疑环节基础知识掌握服务部署能力Linux系统结构、常用命令、文件管理、用户权1Web服务器、数据库、文件共享、邮件系统限自动化运维实践监控与排错技能Shell脚本、自动化工具、容器技术、云平台管性能监控、日志分析、故障诊断、安全加固理本课程系统地介绍了Linux运维的核心知识体系,从基础命令到高级服务配置,从手动操作到自动化管理,建立了完整的技术框架通过理论讲解与实际操作相结合的方式,帮助学员掌握了企业环境中最常用的Linux运维技能,为进一步学习和职业发展奠定了坚实基础学员在实际工作中可能遇到的常见问题包括系统性能优化、复杂环境的故障排查、大规模服务器管理、安全漏洞应对等建议采取学以致用的方式,将所学知识应用到实际项目中,遇到问题善于查阅文档和社区资源,保持技术敏感度和学习热情未来发展方向可考虑向云原生技术、DevOps实践、SRE工程师或系统架构师方向拓展,不断提升技术深度和广度。
个人认证
优秀文档
获得点赞 0