Linux
Linux 是服务器领域最流行的开源操作系统,具有稳定、安全、开源免费等优势。本书《Linux就该这么学》基于 RHEL 7 系统编写,内容通用于 CentOS、Fedora 等发行版。
本目录下的文件按主题拆分:
- Linux系统管理 — 文件属性、管道重定向、grep/sed/awk、用户管理、进程监控、systemd 服务、网络配置、SSH、防火墙、存储管理(RAID/LVM)、常用服务(Web/FTP/NFS/Squid/MySQL)、源码包安装
- Linux工具 — lsof、ps、top、wget、crontab、xargs、sort、tr、cut、uniq 等常用工具的参数与实战示例
- shell脚本 — Bash 脚本语法、变量、运算符、流程控制、函数、重定向
提示
Linux 系统管理入门与实践
SELinux 安全
SELinux(Security-Enhanced Linux,安全增强型 Linux)提供强制访问控制(MAC),比传统的自主访问控制(DAC)更严格。即使 root 用户也可能被 SELinux 策略阻止。
| 模式 | 说明 |
|---|---|
| Enforcing | 强制执行,阻止违规操作并记录日志 |
| Permissive | 宽松模式,仅记录违规不阻止 |
| Disabled | 完全禁用 |
# 查看当前模式
getenforce
# 临时切换到 Permissive(重启后恢复)
setenforce 0
# 永久配置
vim /etc/selinux/config
# 修改 SELINUX=permissive 或 SELINUX=disabled常用命令:
# 查看文件安全上下文
ls -Z /var/www/html
# 修改文件上下文(临时)
chcon -t httpd_sys_content_t /var/www/html/index.html
# 永久修改文件上下文
semanage fcontext -a -t httpd_sys_content_t "/data/www(/.*)?"
restorecon -Rv /data/www
# 查看端口上下文
semanage port -l | grep http
# 添加端口例外(允许 httpd 监听 8080)
semanage port -a -t http_port_t -p tcp 8080计划任务
at 一次性任务
at 用于在指定时间执行一次任务:
# 创建任务(进入交互模式,Ctrl+D 结束输入)
at 23:00
at> systemctl restart nginx
at> <Ctrl+D>
# 查看待执行任务
at -l
# 删除任务
atrm 1crond 周期性任务
crond 用于周期性执行任务,时间格式:分 时 日 月 周 命令
# 编辑任务
crontab -e
# 常用示例
0 * * * * /path/to/command # 每小时执行
0 2 * * * /path/to/command # 每天凌晨 2 点执行
0 2 * * 1 /path/to/command # 每周一凌晨 2 点执行
# 查看任务
crontab -l
# 删除所有任务
crontab -r更多 crontab 时间语法和实战示例,详见 Linux工具 中的 crontab 章节。