一、标准Linux技术学习五步法(通用所有服务/软件)
适用于:所有服务(httpd、nginx、mysql、redis、ssh等)统一学习套路,面试、自学、实操通用
1.1 技术是什么(作用、功能)
明确软件/服务的核心定位,是干什么的。
案例:httpd = Apache 传统Web网站服务,用于搭建静态、动态网站,提供网页访问能力。
1.2 原理与适用场景
了解底层运行机制、优缺点、适用业务场景。
案例 :httpd 属于多进程模型Web服务
-
优点:稳定性极高、不易崩溃、兼容性强
-
缺点:高并发性能弱于Nginx
-
适用场景:企业传统网站、并发量不大、对稳定性要求极高的业务
1.3 安装构建方式
Linux软件三大安装方式:yum/rpm、二进制、源码编译
源码安装标准流程(必考)
-
安装依赖包(gcc、make、openssl-devel等)
-
下载源码包(.tar.gz)
-
解压源码包
-
预配置 ./configure
-
编译 make
-
安装 make install
1.4 核心管理操作 + 配置文件
固定掌握:启停查、开机自启、核心配置文件路径
案例 httpd
-
启动:systemctl start httpd
-
停止:systemctl stop httpd
-
重启:systemctl restart httpd
-
状态:systemctl status httpd
-
开机自启:systemctl enable httpd
-
配置文件:/etc/httpd/conf/httpd.conf
1.5 优化(性能优化 + 安全优化)
学完能用、能跑、能优化,达到企业生产标准。
二、Linux系统整体特点与定位
2.1 Linux系统特点
-
属于服务器操作系统,稳定、安全、免费开源
-
核心机制:写时复制(COW),节省内存、提升运行效率
-
开源可定制,企业可二次开发、部署自研程序
2.2 Linux核心学习模块(全套体系)
-
系统装机与基础环境
-
文件/目录:增删改查、批量处理
-
应用服务管理、开机流程
-
用户、权限管理
-
磁盘存储空间管理(分区、LVM、RAID)
-
系统安全加固 + 性能优化
三、核心名词解释:并发
并发:同一时间点,向服务器发起的客户端请求总数量。
并发越高,对服务器CPU、内存、IO、网络压力越大。
四、企业级Linux系统加固与优化(最全版 + 实操案例)
优化分为两大类:性能优化、安全优化,以下为生产环境必做加固项。
4.1 账号安全加固(重点必考)
1)禁止用户交互式登录(程序用户)
场景:运行程序的账号(nginx、mysql、apache)不需要登录系统,必须禁止登录,防止被利用入侵。
核心原理:修改shell为 /sbin/nologin
实操案例
# 新建用户直接禁止登录(-M 不创建家目录) useradd -M -s /sbin/nologin nginx # 对已有用户修改禁止登录 usermod -s /sbin/nologin mysql # 单独修改登录shell chsh -s /sbin/nologin apache
2)锁定长期不使用的账号
防止闲置账号被爆破登录,锁定后密码失效。
锁定原理:/etc/shadow 密码字段前会出现 !!
实操案例
# 锁定用户 passwd -l testuser usermod -L testuser # 解锁用户 passwd -u testuser usermod -U testuser
3)设置密码有效期(强制改密、防止弱口令长期存在)
分为:临时针对用户设置、全局默认配置
实操案例
# 方式1:chage 设置密码90天有效期 chage -M 90 testuser # 方式2:passwd 设置有效期 passwd -x 90 testuser # 方式3:全局配置(所有新建用户生效) vi /etc/login.defs PASS_MAX_DAYS 90 # 修改默认密码有效期90天
4)清理无用账号
删除离职、测试、无效账号,减少攻击面
# -r 彻底删除家目录、邮件等残留数据 userdel -r testuser
5)锁定关键系统文件(防篡改、防删、防改)
核心权限:i属性、a属性
-
i属性(不可变锁):不能删除、不能修改、不能追加、不能改名
-
a属性(追加锁):只能追加内容,不能删除、不能修改原有内容
实操案例
# 查看文件隐藏属性 lsattr /etc/passwd /etc/shadow # 加锁:禁止篡改关键用户文件 chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group # 日志文件只允许追加,不允许删除清空 chattr +a /var/log/messages # 解锁 chattr -i /etc/passwd chattr -a /var/log/messages
4.2 历史命令安全加固(防止泄露操作记录)
1)限制历史命令保存条数
避免历史命令过多泄露敏感操作、密码、路径
实操案例
vi /etc/profile # 添加全局历史命令限制 export HISTSIZE=100 export HISTFILESIZE=100 # 生效配置 source /etc/profile
2)退出终端自动清空历史命令
高安全场景:用户退出自动清空操作记录
vi ~/.bash_logout # 添加以下内容 history -c > ~/.bash_history
4.3 用户切换 su 安全规范
-
su 用户名 :仅切换用户,不切换环境变量、家目录
-
su - 用户名:完整切换,加载全新环境变量、家目录、登录shell(生产必须用)
-
su -c "命令" 用户名:临时以指定用户身份执行一条命令
实操案例
# 临时以nginx用户执行创建目录 su -c "mkdir -p /tmp/nginx_test" nginx
4.4 Sudo提权安全管理(企业核心)
作用:普通用户临时拥有root权限,不泄露root密码
配置文件:/etc/sudoers
编辑命令:visudo(自带语法检测,禁止vi直接编辑)
1)单用户授权案例
# 给test用户全部权限、免密 test ALL=(ALL) NOPASSWD: ALL # 给用户仅授权启停httpd,禁止关机重启 test ALL=(ALL) /usr/bin/systemctl start httpd,/usr/bin/systemctl stop httpd,!/usr/bin/reboot,!/usr/bin/halt
2)组统一授权案例
# 所有dev组用户拥有全部权限 %dev ALL=(ALL) NOPASSWD: ALL
3)查看sudo授权权限
sudo -l
4)sudo提权日志审计(重要!)
记录所有用户提权操作,方便溯源、安全审计
实操配置
visudo # 添加日志路径 Defaults logfile=/var/log/sudo.log
4.5 限制终端登录数量
配置文件:/etc/securetty
原理:注释掉多余终端设备,禁止root从陌生终端登录,降低暴力破解风险
4.6 高级系统加固项
-
设置BIOS密码:禁止他人修改启动项、进入U盘救援模式篡改系统
-
设置GRUB菜单密码:防止他人进入单用户模式破解root密码
-
禁止重启热键:屏蔽Ctrl+Alt+Del重启,防止误操作恶意重启服务器
-
定期弱口令检测:使用john、crypt等工具检测弱密码,定期整改
五、优化总结(面试万能话术)
5.1 性能优化方向
-
提升并发处理能力
-
优化内存、CPU、磁盘IO利用率
-
精简开机自启服务,减少资源占用
5.2 安全优化方向
-
账号安全:禁用、锁定、清理无效账号
-
密码安全:密码有效期、复杂度、弱口令检测
-
文件安全:关键文件加锁防篡改
-
权限安全:sudo最小权限原则
-
登录安全:限制终端、日志审计、禁止恶意登录