遵循這些實用技巧,避免 Linux 管理中的常見陷阱。學習如何處理權限、排查錯誤,並有效地保護你的系統。
1. 避免執行更改多個屬性的命令
不要執行會更改大量屬性的命令,而應專注於與你正在排查的問題相關的特定檔案或目錄。
範例:
避免使用:
chmod 777 everything
這可能會導致安全問題,並破壞 SSH 或sudo等應用程式。相反,你應該弄清楚為什麼需要執行這些命令,並探索更安全的替代方案。
2. 不要日常使用 Root
與 Windows 中的 Administrator 帳戶不同,Linux 的 root 使用者會繞過安全警告和檢查。使用sudo執行特權命令更安全,並提供用於追蹤的稽核記錄。
3. 理解rm命令的旗標
-r(遞迴)和-f(強制)旗標位於rm命令中,其效果是永久性的。使用它們可以在未經確認的情況下刪除檔案或目錄。
範例:
rm -rf /folder
此命令將永久刪除指定的資料夾及其全部內容,而不會詢問“你確定嗎?”
4. 排查權限被拒絕的問題
排查存取問題時,同時考慮DAC(自主存取控制)和MAC(強制存取控制)。
- DAC:檔案權限(例如
chmod,chown). - MAC:SELinux 或 AppArmor 等工具會強制實施額外的安全層。
範例:
檢查 SELinux 記錄:
cat /var/log/audit/audit.log
5. 網路:檢查軟體防火牆
不要以為網路問題只與硬體有關。iptables或 SELinux 等軟體防火牆可能正在阻止連線。
範例:
使用iptables命令檢查規則:
iptables -L -v -n
如果沒有指定任何規則,SELinux 可能已在 IP 層進行了設定。
6. 使用基於 SSH 金鑰的驗證
避免在 SSH 中使用密碼驗證。密碼容易受到暴力破解攻擊,尤其是基於字典的攻擊。
例外:
屬於目錄服務的使用者可能需要使用密碼。
7. 始終確認時區
檢查時間戳記時,不要以為伺服器時間是本地時間或 UTC 時間。使用下面的命令確認時區。
範例:
date
cat /etc/timezone
timedatectl
8. 有效排查核心錯誤
排查核心錯誤時,請將錯誤訊息與核心和軟體版本一起線上搜尋。
範例:
使用必應或谷歌搜尋:
<error message> <kernel version>
9. 處理唯讀檔案系統
即使作為 root 也無法修改檔案時,請檢查檔案系統是否以唯讀方式掛載。
步驟:
- 執行:
dmesg,尋找表明檔案系統完整性問題的錯誤。 - 使用以下命令檢查檔案屬性:
lsattr帶有+i屬性的檔案是不可變的,即使是 root 也無法修改。
10. 不確定時不要猜測
如果你不確定如何處理,不要猜測!請向 Linux 專家求助或查閱文件。猜測可能會使問題惡化,並使恢復更加困難。
結論
透過避免這些常見陷阱,你可以提高 Linux 管理技能,並確保環境更加安全高效。始終優先理解你使用的命令,並在必要時諮詢專家。