Tag: Linux
在写 Shell Script 时, 有时需要建立临时档案, 很多时会用 temp 或 tmp 这类副档名实现。但如果这些档案名称和其他 process 的临时档案名称相同, 便会错误地覆写其他临时档案的内容。 在 Linux 系统可以用 mktemp 工具, 它可以很简单地建立, 使用及移除不会重复档名的临时档案。 执行 mktemp 时, 它们默认会出档案名称及路径: $ mktemp /tmp/tmp.94uGx1HYiS 如果没有指定路径, 临时档案的的位置是 …
在 UNIX Like 的环境要转换文字编码, 一般会使用 iconv 指令, iconv 已经内建在很多发行版, 使用起来也很方便。 把 BIG-5 及 UTF-8 互换十分常见, 以下是具体的操作方法: BIG-5 转 UTF-8 编码 $ iconv -f BIG-5 -t UTF-8 old-big5.txt > new-utf8.txt …
LAMP 是 Linux + Apache + MySQL + PHP 的缩写, 但从 RHEL / CentOS 7 开始已经不会内置 MySQL, 改为使用 MariaDB, MariaDB 使用上与 MySQL 相同, 旧有的 MySQL 数据库也可以直接升级使用, 这里也会示范在 Rocky Linux …
Fail2Ban 是阻挡暴力攻击的工具,例如发现指定次数的登入失败后,会自动把远端的 IP 地址封锁,在设定的时间过后才会对封锁的 IP 开放。Fail2Ban 的用途非常广泛,除了一般的 SSH 登入及电邮登入外,也可以对一些针对网页的攻击进行封锁。 但如果网页使用了 CloudFlare 的话,那 Fail2Ban 只会封锁 CloudFlare 的 IP,而 CloudFlare 的那么多,很多时即使封锁了几个 IP,攻击者还是可以继续进行攻击及扫描漏洞。 要解决这个问题,可以使用 CloudFlare 的 API,在 Fail2Ban 设定把要封锁的 IP 传送给 CloudFlare,在 …
以前也看过用 root 错误执行 “rm -rf /*” 时, 系统会有一些保护措施, 但未有提到 “rm -f /*”, 一直也未试过, 今天在一台没有什么用途的 VPS 上面试试执行, 系统是 CentOS 7. 用 su – 进入 root 身份后, 执行 rm -f /* …
Quota 是用作限制使用者或群组使用的碟硬空间, 如果没有设定 Quota 限制, 使用者可以无上限地储使用硬盘空间。以下是在 Ubuntu 20.04 设定 Quota 的步骤。 在设定使用者的 Quota 前, 需要先安装 quota 套件, 可以用 apt 安装: $ sudo apt install quota 然后检查 Ubuntu 的 kernel …
Log4j 是很严重的安装漏洞, 影响也很广泛, 骇客可以透过 Log4j 漏洞执行指令, Log4j 漏洞在 CVSS 评分高达 10.0, 所以十分值得关注。本文会讲述测试系统是否存在 Log4j 漏洞的方法。 已经有人写了在 Linux 检查 Log4j 漏洞的 Shell Script,虽然目前还是 beta 版, 不保证有 100% 检测成功率, 因为这个 Shell Script …
dd 是十分实用的 Linux / Unix 小工具, 它可以转换及复制档案。dd 指令可以 clone 硬盘, 备份及复原原始设备档案等。以下文章会介绍 dd 的常用例子。 dd 使用方法很简单, 默认会读取 stdin 及写入 stdout,如果要指定读取及写入的档案, 使用 “if” 及 “of” 选项。以下是 dd 常见的使用例子, 使用 dd 备份硬盘的 …
HTTP Strict Transport Security (HSTS) 是一个安全机制, 通知浏览器将来对目网域的所有查询使用 HTTPS, 即使尝连接到 http:// 的网址, 也会强制使用 https:// 的网址. 以下分别是在 Let’s Encrypt, Apache, .htaccess 及 Nginx 开启 HSTS 的方法. Let’s Encrypt Let’s Encrypt 要启用 …
Linux 下要一次执行个多指令, 可以借助 “;”, “&&”, “||” 来实现, 但它们在使用上有一点分别。 分别 ; 如果只要执行逐一多个指令, 不理会前面指令的结果, 只要在两个指令之间加上分号 “;” 即可, 这样指令会逐一执行, 例如: $ command 1 ; command2 AND 字符 && “&&” 连接字符也是经常用到, 它与 “;” …