Tag: Fedora

Linux 设定 setuid 及 setgid 权限

setuid 是档案权限其中一种特性, 档案加入 setuid 权限后, 其他用户可以用档案持有者身份执行档案。而 setgid 跟 setuid 类以, 是其他用户可以用档案所属群组的身份执行。 如果 setuid 使用不当, 会有很严重的安全问题, 所以使用前要小心。虽然有安全的问题, 但很多情况都要借助 setuid 解决, Linux 最常见的例子有 passwd 及 sudo, 一个普通帐号执行 passwd 修改自己的密码时, 其实是用 root …

RHEL / CentOS 安装 LLVM 及 Clang

Clang 是一套在 UNIX 环境下的 C, C++ Objective-C 及 Objective-C++ 编译器, 是一套可以替代 GCC 的套件。 在 RHEL 及 CentOS 7 安装 Clang, 最简单的方法是透过 EPEL Repo 用 yum 安装, 以下是安装方法: 先安装 EPEL …

iptables 指令入门

iptables 是一套 Linux 下的防火墙,可以按需要建立 iptables 规则,允许或阻挡网络流量。但透过 SSH 设定 iptables 时要格外小心,因为如果设定错误,可能会阻挡外部连线,需要到机器面前进行修复,多年前我试过输入一道错误的 iptables 指令,搞到要立即赶到 data center 修复。 iptables 设定时主要分三种类型,分别是 INPUT, FORWARD 及 OUTPUT。 INPUT: 这个行为是外来的连线,例如从远端 SSH 到服务器,iptables 会将这个连线定义为 INPUT。 FORWARD: 这是外来的连线,但最终目的地不是服务器本身,只是转送到其他机器,例如路由器,除了 …

Shell Script 取得外部 IP 地址

透过路由器连接上网的 Linux 系统, 路由器会分配一个私 IP 地址, 用 ifconfig 指令只会看到私有 IP 地址。如果在 Shell Script 需要查看对外的 IP 地址, 除了可以用撷取一些显示 IP 地址的网站外, 以下分享一个使用 dig 及 OpenDNS 取得出外部 IP 的方法。 使用上十分简单, 只要一行指令便可以取得 IP: …

nslookup — 查询 DNS 指令

当设定好 DNS 服务器后, 想查询 DNS 的回应是否正常, nslookup 是其中一个很常用的工具。除了根据 /etc/resolv.conf 设定的 DNS 服务器查询外, nslookup 也可以手动设定要查询的 DNS 服务器。 要查询 hostname 的 IP, nslookup 使用上很简单, 例如想查询 google.com 的 IP 地址, 语法是这样: $ …

Shell Script 转换英文大小写字母

在 Shell Script 要将用户的输入的英文字母转换大小写,或者要将档案内文字的英文字母转换大小写,可以透过 tr 指令实现。 先看看 tr 指令的使用方法, 转换档案内所有大写字母到小写: $ tr ‘’ ‘’ < input.txt > output.txt 以上指令会将 input.txt 的档案内容,全部大写字母转换为小写,然后将结果汇入到 output.txt 档案。 要将小写转换到大写字母,只要将 upper 及 lower 倒转即可: $ …

限制 Crontab 指令执行时间

在执行 crontab 内的指令时, 如果想要限制执行时间, 可以使用 timeout 指令完成, 而这个方法不仅适用于 crontab, 即是一般指令也适用。 在 man 查看 timeout 指令的用法: timeout – run a command with a time limit 再看看 crontab 的部份, 例如原来有一个 Shell …