Tag: Linux

Shell Script 檢查檔案內容是否空白

在 Shell Script 要檢查檔案內容是否空白, 可以用 find 指令, 或者用 -s 參數檢查, -s 會在檢檔檔案存在及檔案體積大於 0 時, 回傳 TRUE, 否則回傳 FALSE. find 指令 find 指令只要加上 -empty 參數, 就可以找出空白檔案, 例如要檢查 /home/phpini/tmp_file 是否空白檔案, 可以這樣做: …

為何我從編譯原始碼改用 yum

在 Linux 安裝體一般會用編譯原始碼, 或者 yum 及 apt-get 這類套件管理工具安裝。剛學習 Linux 時, 很多套件都愛自行編譯, 當時還是 PHP3 的年代, 下載 Apache, PHP, MySQL 及相關套件的原始碼編譯, 就連 Linux 核心都要自己編譯才覺得覺得舒服, 打造出一套 LAMP 環境就自以為很了不起, 其實這感覺只是自 high, 一直到生產環境的伺服器都是這樣。 起初運作是沒有甚麼問題的, …

traceroute 指令 — 路由跟蹤工具

traceroute 是一個網路檢測工具, 可以追蹤網路封包經過的路由指令。例如當發現瀏覽一個網站很慢, 使用 traceroute 檢查時, 可以顯示經過的每一個網路節點, 以及每個節點返回的時間。traceroute 會對經過的網路設備送出封包 3 次, 測試所需的時間, 而返回的時間單位是 ms。(注: 在 Windows 不是用 traceroute, 是用 tracert) Redhat 及 CentOS 預設沒有安裝 traceroute, 先用用 yum 安裝: # …

Ubuntu 安裝 Sublime Text 3

Sublime Text 3 是一套跨平台的文字編輯器, 我覺得 Sublime Text 寫程式 十分好用。Sublime Text 可以免費使用, 如果想支持一下開發者, 可以付出 $70 美元購買版權。 在 Ubuntu 安裝 Sublime Text 3, 可以先加入 PPA Repository, 然後用 apt-get 安裝: 加入 PPA …

Linux 設定 setuid 及 setgid 權限

setuid 是檔案權限其中一種特性, 檔案加入 setuid 權限後, 其他用戶可以用檔案持有者身份執行檔案。而 setgid 跟 setuid 類以, 是其他用戶可以用檔案所屬群組的身份執行。 如果 setuid 使用不當, 會有很嚴重的安全問題, 所以使用前要小心。雖然有安全的問題, 但很多情況都要借助 setuid 解決, Linux 最常見的例子有 passwd 及 sudo, 一個普通帳號執行 passwd 修改自己的密碼時, 其實是用 root …

iptables 指令入門

iptables 是一套 Linux 下的防火牆,可以按需要建立 iptables 規則,允許或阻擋網路流量。但透過 SSH 設定 iptables 時要格外小心,因為如果設定錯誤,可能會阻擋外部連線,需要到機器面前進行修復,多年前我試過輸入一道錯誤的 iptables 指令,搞到要立即趕到 data center 修復。 iptables 設定時主要分三種類型,分別是 INPUT, FORWARD 及 OUTPUT。 INPUT: 這個行為是外來的連線,例如從遠端 SSH 到伺服器,iptables 會將這個連線定義為 INPUT。 FORWARD: 這是外來的連線,但最終目的地不是伺服器本身,只是轉送到其他機器,例如路由器,除了 …