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 $ grep …

CentOS 7 安裝 Google Chrome

CentOS 7 預設的瀏覽器是 Firefox, 以下紀錄一下在 CentOS 7 安裝 Google Chrome 的步驟。從 Google 下載最新版的 Chrome: /linux/install-chrome $ wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm $ sudo yum install ./google-chrome-stable_current_*.rpm 完成後可以用以下指令確認是否安裝成正, 以及檢視安裝的版本: /linux/install-chrome $ google-chrome –version Google …


RHEL / CentOS 7 開啟 UserDir 個人網頁模組

UserDir 模組可以讓伺服器的帳號, 擁有自己的網頁, 即在伺服器的主機名稱後面加上 “~username” 作為個人網頁。以下是在 RHEL 及 CentOS 開啟 UserDir 個人網頁模組, 以及設定 SELinux 的方法..在 CentOS 只要用 yum 安裝了 Apache (httpd), 預設已經安裝了 UserDir 模組, 只要在 httpd.conf 或 /etc/httpd/conf.d/ 下面建立設定檔便可以啟用。可以用以下指令確認是否有 UserDir …

Ubuntu 18.04 安裝 ZSH

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


RHEL / CentOS 7 安裝 SFTP

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

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 $ sudo …

Ubuntu 18.04 用 NetPlan 設定網路固定 IP

以前在 Ubuntu 設定固定 IP 是修改檔案 /etc/network/interfaces, 但從 Ubuntu 17.10 開始在 CLI 要修改網路設定, 便要使用 NetPlan, NetPlan 會讀取所有在 /etc/netplan/ 下的 *.yaml 設定檔.以下是在 Ubuntu 18.04 設定固定 IP 的方法, 並假設要設定的網卡名稱是 enp0s3.NetPlan 預設的設定檔在 /etc/netplan/ 目錄下的 …

允許個別 IP 用 root 登入 SSH

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

wget 開啟 cookie

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

/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, 用逗號 (,) 分隔每個 daemons, …