教授Linux新手运维服务器需要系统化、循序渐进的实践方法。以下是一个适合小白的教学路径,涵盖你提到的核心技能:
一、教学原则
1. 先实践后理论:用具体任务驱动学习,避免纯概念灌输。
2. 最小化权限:初期使用普通用户账号,关键操作临时提权(sudo)。
3. 环境隔离:用虚拟机/云服务器实验,避免影响生产环境。
二、分阶段教学大纲
阶段1:基础连接与导航(第1周)
核心任务:建立对Linux的感性认识
1. SSH远程登录
ssh username@服务器IP
# 演示密钥登录(重点)
ssh-keygen -t rsa
ssh-copy-id user@IP # 免密登录设置
实践:用Xshell/MobaXterm等工具连接
解释:端口修改(/etc/ssh/sshd_config中的Port 22)
2. 文件系统导航
pwd, ls -la, cd, tree -L 2
# 重点目录介绍:
/home # 用户目录
/etc # 配置文件
/var/log # 日志文件
/opt # 第三方软件
3. 基础文件操作
cp -r, mv, rm -i, mkdir -p
find /var/log -name "*.log" -mtime -7 # 查找7天内修改的日志
阶段2:系统监控与日志(第2周)
核心任务:学会“看诊”服务器
1. 系统状态检查
top → htop(更友好)
df -hT # 磁盘使用
free -h # 内存
netstat -tlnp # 监听端口
ss -ant # 更快的网络连接查看
2. 日志定位技巧
# 系统日志
tail -f /var/log/syslog # Ubuntu
tail -f /var/log/messages # CentOS
# 应用日志定位
systemctl status nginx # 查看服务状态,通常会显示日志路径
journalctl -u nginx -f # 查看systemd管理的服务日志
# 日志搜索三剑客
grep "ERROR" /var/log/syslog
tail -100 /var/log/nginx/access.log | less
cat /var/log/auth.log | grep "Failed password" # 查看登录失败记录
3. 进程管理
ps aux | grep nginx
kill -15 PID # 优雅终止
pkill -f pattern
阶段3:安全加固(第3周)
核心任务:建立基础安全屏障
1. 账户与权限
sudo visudo # 安全编辑sudo权限
chmod 600 ~/.ssh/authorized_keys # SSH密钥权限
useradd -m -s /bin/bash newuser # 创建新用户
passwd -l username # 锁定账户
2. SSH加固
# /etc/ssh/sshd_config 修改:
PermitRootLogin no
PasswordAuthentication no # 强制密钥登录
AllowUsers your_username # 白名单用户
MaxAuthTries 3 # 最大尝试次数
systemctl reload sshd # 重载配置(不断开现有连接)
3. 防火墙配置
# UFW(Ubuntu)
sudo ufw allow 22/tcp
sudo ufw enable
# firewalld(CentOS)
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
4. 自动更新与漏洞扫描
# Ubuntu
sudo unattended-upgrades --dry-run
阶段4:存储管理与扩容(第4周)
核心任务:掌握磁盘管理核心技能
1. 磁盘基础
lsblk # 查看块设备
fdisk -l # 分区详情
blkid # 查看UUID
2. LVM扩容(在线)
# 1. 查看卷组空间
vgdisplay
# 2. 如果卷组有空间,直接扩逻辑卷
lvextend -L +10G /dev/mapper/vg-root
# 3. 扩展文件系统(ext4示例)
resize2fs /dev/mapper/vg-root
# xfs文件系统用:
xfs_growfs /mount_point
3. 添加新磁盘扩容
# 1. 新磁盘分区
fdisk /dev/sdb # 创建LVM类型分区(8e)
# 2. 创建物理卷并加入卷组
pvcreate /dev/sdb1
vgextend vg_name /dev/sdb1
# 3. 扩逻辑卷和文件系统(同上)
阶段5:实战项目整合
综合任务:搭建一个安全的Web服务器
1. 环境准备
# 安装nginx
sudo apt install nginx
sudo systemctl enable nginx
2. 安全配置
· 配置防火墙规则
· 设置nginx以低权限用户运行
· 配置SSL证书(Let's Encrypt)
3. 监控设置
# 日志轮转配置
sudo vim /etc/logrotate.d/nginx
# 简单的访问监控
tail -f /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c