Ubuntu 18.04 安裝 ZSH

ZSH (Z Shell) 是 Bash 及 sh 以外的 Shell, 以下是 Ubuntu 安裝 ZSH 及設定 ZSH 成預設 Shell 的方法。 Ubuntu 的官方 Repository 已經包含 ZSH 在內, 可以很簡單用 apt-get 安裝, 但在安裝前先更新一下: /linux/apt-get/update …

RHEL / CentOS 7 安裝 SFTP

SFTP 是透過 SSH 連線作傳送檔案, 跟傳統的 FTP 不同, SFTP 傳送的內容都經過加密, 而且現在大多在 FTP 軟體都支援 SFTP. 如果系統已經開啟 SSH 伺服器, SFTP 已經內建好, 不需要額外安裝, 但跟 FTP 不同, 在預設的情況下, SSH 伺服器可以允許傳送檔案及使用指令模式。但有些情況是只想給帳號開放上傳/下載檔案, 但不開啟 SSH, 以下是在 RHEL …

Ubuntu 安裝 Golang 及撰寫 Hello World

Go 語言是由 Google 開發的開源程式語言, 語法簡單易用。以下會示範如何在 Ubuntu 安裝 Golang, 以及編譯一個 Go 語言的 “Hello World!” 程式。 首先下載 golang 的 binary 檔: /linux/golang $ wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz 解壓下載回來的壓縮檔, 並把 binary 檔放到 /usr/local: /linux/golang …

允許個別 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, 用逗號 …

F5 Networks 收購 Nginx

現在很多網站也是使用 Nginx 架設網站伺服器, 相比起 Apache 有更高效能及負載能力。 最近資安廠商 F5 Networks 宣佈會收購 Nginx, Nginx 被收購後仍會維持開源, 原來的管理層也會留下來。 不知 Nginx 往後會不會像 MySQL 一樣, Nginx 在新公司下繼續開發, 而創辦人之類的就另起爐灶, 建立可以跟 Nginx 兼容的替代 fork.

Python print 輸出時不換行

Python 輸出內容跟其他程式語言差不多, 用 print 便可以印出想要的內容, 例如: 這樣就會印出 “Hello World!” 到顯示器。 但同時 Python 也會自動在最後加上換行 “\n” 的字串, 例如: 上面會印出: Hello World! Hello World! Python 3 要解決較容易, 只要在 print 裡面定義參數便可以, 寫法如下: 上面第一個 …