Tag: RHEL & CentOS

Linux 禁止普通帳號檢視 dmesg 內容

Linux kernel 會將開機訊息儲存在 ring buffer, 如果開機後想檢視開機的訊息, 可以用 dmesg 指令查看, 或者檢視 /var/log/dmesg 檔案的內容. 執行 dmesg 不用 root 權限, 普通帳號也能執行: $ dmesg 如果想禁止普通帳號檢視開機訊息, 可以設定 kernel 的 dmesg_restrict 變數: $ sudo sysctl …

Redhat / CentOS 8 更改 hostname

以前的 Redhat 及 CentOS 要更改 hostname 可以修改 /etc/sysconfig/network, 或用 hostname 指令設定。Centos 7 及 CentOS 8 改用了新的方法, 現在是用 hostnamectl 指令修改系統的 hostname。 檢查主機 hostname: # hostnamectl 會列出目前使用的 hostname, 要修也是使用 hostnamectl 指令: …

CentOS 8 安裝 EPEL

CentOS 8 安裝 EPEL Repo 後, 安裝一些 CentOS 沒有內建的套件會方便很多, 而在 CentOS 8 安裝 EPEL 也很簡單, 以下是安裝方法。 $ sudo yum install epel-release 最後開啟 PowerTools Repo: $ sudo yum config-manager –set-enabled …

ModSecurity 停用個別規則

ModSecurity 可以阻擋多種針對網站的攻擊, 但有些網頁應用程式會跟 ModSecurity 互相沖突, 如果為了個別幾個規則便把 ModSecurity 停用, 給 VirtualHost 設定 “SecRuleEngine Off”, 這樣十分不必要。較好的做法是找出與網頁程式互相沖突的規則, 然後在個別目錄或 VirtualHost 停用。 以下會假設已經安裝及設定好 ModSecurity, 然後找出有問題的規則, 並用 SecRuleRemoveById 把有問題的規則停用。 例如 HTTPD 的錯誤檔在 /var/log/httpd/error.log, 執行以下指令可以找出 ModSecurity …

PHP-FPM 設定 php_admin_value

在伺服器進行 PHP 設定, 最直接的方法是編輯 php.ini 檔案, 如果是使用 mod_php 的情況下, 可以用 php_admin_value 或 php_admin_flag, 在 Apache 對個別目錄或 VirtualHost 設定不同的 PHP 參數, 或者使用 .htaccess 設定更可以不用重新載入 httpd 修改 PHP 設定。 但如果是使用 PHP-FPM …

Shell Script 自動檢查硬碟使用量

Linux 下要用 Shell Script 自動檢查硬碟分割區的使用量, 可以透過 df 指令實現。 df 指令可以在 Linux 下檢視硬碟分割區使用量, 配合 grep 及 awk 擷取所需的資訊, 便可以用 Shell Script 自動檢查硬碟使用量, 當發現使用量超過設定的百分比 (例如 80%) 時, 再用 mail 指令發出電子郵件通知系統管理員。 執行 …

Linux 檢查硬碟健康狀態

不論對於伺服器還是工作站, 硬碟應該是電腦內最重要的硬體, 其他硬體壞掉的話換過新的便好, 但硬碟就不同了, 裡面的資料才是最重要。本文會介紹在 Linux 下檢查硬碟的健康狀態。 現在的硬碟大多支援 S.M.A.R.T.(Self-Monitoring, Analysis, and Reporting Technology), S.M.A.R.T 可以讓作業系統 (e.g. Linux, Windows, Mac) 檢查硬碟的健康狀態。 在 Linux 有多種工具可以檢查 S.M.A.R.T. 狀態, 以下會安裝使用 smartctl, 首先安裝 smartctl: …

檢視 Linux 系統記憶體

在 Linux 要檢視系記憶體, 可以用幾種不同的方法, 有些指令會提供完整的記憶體資訊, 有些則會提供簡單清晰的結果。以下是檢視 Linux 記憶體的方法。 free 指令 最簡單的方法是用 free 指令, 它會顯示簡單直接的記憶體資訊: 加上 -g 或 -m 參數, 可以將顯示的單位改為 GB 或 MB: 或 如果要持續監測 free 指令的輸出, 除了使用 watch …

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

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