使用 UFW 管理防火墙
UFW (Uncomplicated Firewall) 是一个用于管理 Netfilter 防火墙的前端工具。它的设计旨在简化防火墙的配置过程,使其易于使用。
基本命令
sudo ufw enable
: 启用防火墙。sudo ufw disable
: 禁用防火墙。sudo ufw status
: 查看防火墙的状态。sudo ufw default deny incoming
: 拒绝所有传入连接。sudo ufw default allow outgoing
: 允许所有传出连接。
允许和拒绝连接
sudo ufw allow <port>/<protocol>
: 允许特定端口和协议的连接。例如,sudo ufw allow 22/tcp
允许 SSH 连接。sudo ufw allow <service-name>
: 允许特定服务的连接。例如,sudo ufw allow http
允许 HTTP 连接。sudo ufw deny <port>/<protocol>
: 拒绝特定端口和协议的连接。sudo ufw delete allow <port>/<protocol>
: 删除允许规则。
示例
一个常见的配置是默认拒绝所有传入连接,然后只允许必要的服务,如 SSH、HTTP 和 HTTPS:
使用 Cron 安排任务
cron
是一个在 Unix-like 操作系统中用于定时执行任务的工具。通过编辑 crontab
文件,用户可以指定在特定的时间、日期或间隔执行命令或脚本。
Crontab 语法
crontab
文件的每一行都代表一个任务,其格式如下:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- 星期几 (0 - 7) (星期日可用 0 或 7)
| | | +------- 月份 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59)
示例
-
每天凌晨 2 点执行
/path/to/backup.sh
脚本:
使用 Systemd 管理服务
Systemd 是一个 Linux 系统下的系统和服务管理器。它被设计用来取代传统的 SysV init 系统,并提供了许多现代化的功能,如并行启动服务、按需启动守护进程、系统状态快照等。
基本命令
以下是一些常用的 systemctl
命令,用于管理服务:
systemctl start <service-name>
: 启动一个服务。systemctl stop <service-name>
: 停止一个服务。systemctl restart <service-name>
: 重启一个服务。systemctl reload <service-name>
: 重新加载服务的配置文件,而无需重启服务。systemctl status <service-name>
: 查看服务的状态。systemctl enable <service-name>
: 设置服务开机自启。systemctl disable <service-name>
: 禁止服务开机自启。systemctl is-enabled <service-name>
: 检查服务是否设置为开机自启。
示例
例如,要启动 nginx
服务并将其设置为开机自启,你可以运行以下命令:
sudo systemctl start nginx
sudo systemctl enable nginx
要查看 nginx
服务的状态,可以运行:
sudo systemctl status nginx