Category: Linux

Crontab 每月最后一天执行 Shell Script

Crontab 自动执行可以设定在每月的某一天执行, 如果遇到需要在每个月最后一天执行一次的情况, crontab 则没有这个功能, 这时可以用 Shell Script (其他语言的做法也一样) 检查今天是否当月最后一天来解决, 以下是具体做法。 首先建立一个 Wrapper Script, 加入以下内容: wrapper.sh 这个 Wrapper Script 很简单, 第三行会取得明天的日期并放到 $DAY 变量, 然后检查 $DAY 是否 1, 如果明天的日子是 1 …

Nginx 设定 WordPress Rewrite 固定连结

WordPress 是目前最流行的 Blog CMS, 原本每个网址后面会加上 “?p=xxx” 作为识别文章, 而 WordPress 的固定连结功能可以自订网址。Wordpress 内建的 .htaccess 档案已经做好 Rewrite 的设定, 但如果网页服务器是用 Nginx, 就不可以用这个 .htaccess 了, 以下是在 Nginx 设定 WordPress Rewrite 固定连结的方法。 首先开启网站的 .conf 档案, …

Debian / Ubuntu 安装 VirtualBox 5.1.14

Oracle VirtualBox 可以安装在在 Linux, Windows 及 Solaris 系统上,用作虚拟其他 x86 作业系统的虚拟化软件。透过 VirtualBox,使用者可以在一个作业系统内,安装并执行多个作业系统。Oracle VirtualBox 5.1.14 在上个月发布,以下文章会示范在 Debian 8, Debian 7, Ubuntu 16.10 及 16.04 LTS 安装 VirtualBox 5.1.14 的步骤。 首先开启档案 /etc/apt/sources.list, …

Linux 下用 iptables 预防 DDOS

DDOS 是十分常见的攻击,即使是一般使用者,下载一套 DDOS 软件,或者直接安装 kali linux, 便可以很简单发动 DDOS 攻击,除了遇到 DDOS 攻击才采取拦截外,也可以透过 iptables 或一些 Linux 设定来预防 DDOS 攻击,以下会列出一些预防 DDOS 的设定及 iptables 规则。 Linux Kernel 透过修改 Linux Kernel 的设定,同样可以有效减低 DDOS 的威胁,RHEL …

Linux 开机流程简介

了解 Linux 的开机流程, 对于系统管理员十分重要, 当系统发生问题时, 可以更有效除错, 以下文章会简单介绍 Linux 开机的流程, 而 Linux 开机的流程主要会经过以下 6 个步骤: 1 .BIOS 2. MBR 3. GRUB 4. Kernel 5. Init 6. Runlevel Scripts 1. BIOS …

删除不小心解压的 tar 档案

在 CLI 如果解压解缩档时,如果不小心将压缩档解压到工作目录,例如 /var/www/html,将目录变得很凌乱,除了逐个档案检视并删除,更有效的方法是用指令自动删除, 以下是指令例子: 以上指令会将不小心解压的 /path/to/file.tar.gz 档案内容删除。

Linux 用 netstat 侦测 DDOS 攻击

当主机回应很慢时,除了可能是因为系统的负荷过大,或者系统设定错误外,另一个可能性是遭受 DDOS 攻击。 对于小规模 DDOS 攻击, 使用 Linux 内建的工具侦测来源 IP 及阻挡可以达到一定的效果, 以下会示范用 netstat 及其他 Linux 内建指令,检测系统是否遭受 DDOS 攻击。 用 netstat 列出所有连线, 可以用以下指令: 以上指令列出相当多的连线, 我们先用 grep 过滤出我们想要的资讯, 然后用 sort 将 …

Linux 检查密码强度工具 — cracklib

要检查密码的强度, 单纯以密码长度及是否包含英文字母, 数字并不足够, 例如 “abcd1234” 便是 8 个位, 包含字母及数字的密码, 但这个密码很简单。cracklib 就是一套检查密码强度的工具, 以下是 cracklib 的安装及使用方法。 在 Redhat 及 Debian 系列的发行版, 安装 cracklib 都很方便: RHEL / CentOS / Fedora: # yum …

sed 删除包含 keywords 的整行资料

sed 除了可以对档案内的 keyword 做 search & replace 外, 也可以将包含有 keyword 的整行删除, 语法是: 以上指令会对 filename 逐行搜索, 并将有 “keyword” 的整行删除。 另一个情况是想将两个 keywords 中间的整行资料删除, 语法可以改成这样: 以上指令会在 filename 内, 将有 “keyword-1” 及 “keyword-2” …