Tag: FreeBSD

Shell Script 檢查檔案或目錄是否存在

寫程式時很多時候需要檢查檔案或目錄是否存在, 在 Shell Script 檢查檔案及目錄是否存在, 可以在 if 條件判斷式裡面加上 -e 或 -d 實現, 以下是具體寫法: 檢查檔案是否存在: 上面的 if 判斷式也可以用一行來實現: 檢查目錄是否存在: 用一行來實現上面的程式碼: 其中一個十分實用的例子, 是檢查檔案或目錄是否存在, 如果不存在就便宜檔案或目錄: This is the best practice to check …

Shell Script 檢查輸入的參數數量

有時在 Shell Script 需要檢查輸入的參數數量, 在 Shell Script 要檢查輸入的參數數量, 可以直接用 $# 變數取得, 例如建立以下 Shell Script: 將以上內容儲存成 test.sh 後, 並給予可執行權限, 可以嘗試執行以下指令: $ test.sh 1 2 3 3 上面在執行 test.sh 時, 輸入了 …

3 種檢查遠端埠號是否開啟的方法

除了在 Linux 的主機外, 在其他類型的主機也經常需要檢查埠號是否有開啟埠號, 例如要測試主機的服務是否正常。 以下是分別用 nc, nmap 及 telnet 測試埠號是否有開啟的方法。 nc (netcat) nc 的意思是 netcat, nc 可以讀取經過 TCP 及 UDP 的網路連線資料, 是一套很實用的網路除錯工具。 在 CentOS 用 yum 安裝 nc: …

Linux 刪除檔案內的註解行及空白行

Linux 很多設定檔都會以 “#” 字符開頭作為註解, 例如: # Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; 有些情況是要將註解行及空白行刪除, 這樣可以用 grep 指令實現, 語法是: /linux/grep $ grep -v ^\# config.conf | grep . 或者 /linux/grep …

允許個別 IP 用 root 登入 SSH

基於保安理由, 很多伺服器都會禁止 root 登入 SSH, 我認為這個設定也是必須的。在一些內部測試用的伺服器, 為了方便可能會允許 root 登入, 另一個較好的做法是設定只讓個別 IP 用 root 帳號登入 SSH. 透過 sshd 的 “Match Address” 便可以實現, 除了登入 root 帳號外, 也可以設定其他帳號, 只允許個別 IP 登入。 首先開啟 …

wget 開啟 cookie

wget 是很常用的 Linux 下載工具, 支援 HTTP, HTTPS, FTP 等通訊協定下載檔案, 但如果有些下載的檔案是需要支援 cookie 的話, 直接使用 wget 預設選項便不能下載了。 另一種情況是需要輸入使用者名稱及密碼, 然後將使用者名稱及密碼儲存 cookie 內, 這樣也是不能下載。 解決方法是先用 wget 開啟 cookie, 並將 cookie 資訊儲存到檔案, 然後再執行 wget …

/etc/hosts.allow 及 /etc/hosts.deny 限制 IP 連線

TCP wrappers 是主機存取控制列表系統, 作用是限制 IP, hostname 存取 TCP 網路。TCP wrappers 透過以下兩個設定檔設定過濾的 IP: /etc/hosts.allow /etc/hosts.deny 當客戶端嘗試從遠端連線時, 以從上面兩個檔案讀取規則, 決定客戶端的連線是允許還是禁止。設定 /etc/hosts.allow 及 /etc/hosts.deny 的格式是這樣: daemon_list : client_list 上面三個欄位的意思是: daemon_list: 設定的 daemons, 用逗號 …