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 …