作為運維,應該掌握的 50 個 Linux 上重要的配置文件
今天分享一下50個Linux重要的配置文件,基本運維人員都需要知道。看你熟悉幾個?
1 用戶與權限管理相關
文件路徑 | 作用與用途 |
/etc/passwd | 存儲所有用戶基本信息,如用戶名、UID、GID、主目錄、默認 shell。是系統(tǒng)識別用戶的第一步。 |
/etc/shadow | 存儲加密后的用戶密碼及密碼策略(有效期、最小修改天數(shù)等)。只對 root 可讀,增強賬戶安全。 |
/etc/group | 存儲系統(tǒng)的用戶組信息。用于權限管理,控制用戶對文件和服務的訪問能力。 |
/etc/gshadow | 存儲加密后的用戶組密碼信息。用于增強組的安全訪問控制。 |
/etc/sudoers | 配置哪些用戶/組可以使用 sudo 執(zhí)行特權命令及其權限。需使用 visudo 編輯以防配置錯誤。 |
/etc/login.defs | 定義用戶賬號默認策略,如密碼有效期、UID 范圍、賬戶過期時間等。 |
/etc/skel/ | 存放新建用戶默認復制的文件模板,如 .bashrc,用于初始化用戶環(huán)境。 |
/etc/security/limits.conf | 設置每個用戶或組的資源限制,如最大進程數(shù)、最大打開文件數(shù)。常用于防止資源濫用。 |
/etc/pam.d/ | PAM配置目錄,控制登錄、sudo、su 等身份認證邏輯。 |
/var/log/lastlog | 二進制格式,記錄所有用戶的最后一次登錄時間、IP、終端。用 lastlog 查看。 |
2. 網(wǎng)絡配置與訪問控制相關
文件路徑 | 作用與用途 |
/etc/hosts | 本地 DNS 映射,域名解析優(yōu)先于遠程 DNS。常用于內網(wǎng)解析、測試域名等場景。 |
/etc/resolv.conf | DNS 服務器配置文件,系統(tǒng)通過這里定義的 nameserver 進行域名解析。 |
/etc/hostname | 當前主機名配置,影響命令行提示符、主機識別等。 |
/etc/nsswitch.conf | 控制系統(tǒng)解析主機、用戶、服務名時的順序來源(如 files、dns、ldap)。 |
/etc/hosts.allow | TCP Wrapper 白名單,允許訪問特定服務的 IP。 |
/etc/hosts.deny | TCP Wrapper 黑名單,拒絕特定服務的 IP 訪問請求。 |
/etc/network/interfaces (Ubuntu) | 舊式網(wǎng)絡接口配置文件,定義網(wǎng)卡的 IP、掩碼、網(wǎng)關等。 |
/etc/sysconfig/network (紅帽系) | 網(wǎng)絡全局配置(如主機名、默認網(wǎng)關),適用于早期 RHEL 系統(tǒng)。 |
/etc/sysconfig/network-scripts/ifcfg-* | 每個網(wǎng)卡一個配置文件,定義 IP、DNS、網(wǎng)關等參數(shù)。 |
/etc/netplan/*.yaml | Ubuntu 18.04 及以后的默認網(wǎng)絡配置系統(tǒng),使用 YAML 格式定義網(wǎng)絡結構。 |
3 系統(tǒng)啟動與服務管理相關
文件路徑 | 作用與用途 |
/etc/fstab | 設置系統(tǒng)啟動時自動掛載的磁盤、分區(qū)、網(wǎng)絡存儲等。寫錯可能導致系統(tǒng)無法啟動。 |
/etc/rc.local | 自啟動腳本,系統(tǒng)啟動后自動執(zhí)行。適用于執(zhí)行一次性的初始化命令。 |
/etc/inittab | SysV 風格的初始化配置文件,現(xiàn)代系統(tǒng)多已由 systemd 替代。 |
/etc/systemd/system/*.service | 用戶自定義的 systemd 服務單元文件,支持開機啟動、自定義服務管理。 |
/usr/lib/systemd/system/*.service | 系統(tǒng)服務的默認服務文件路徑,安裝包通常寫入這里。不建議手動修改。 |
/etc/init.d/ | SysV-init 服務腳本目錄,兼容舊系統(tǒng)啟動方式。 |
/etc/default/grub | GRUB 引導菜單的默認配置文件,修改后需運行 update-grub 生成實際配置。 |
/boot/grub2/grub.cfg | 實際被 GRUB 引導器使用的配置文件。由 /etc/default/grub 自動生成。 |
/etc/sysctl.conf | 配置內核參數(shù),如 TCP 緩存、連接數(shù)、轉發(fā)等。可通過 sysctl -p 加載生效。 |
/etc/modprobe.d/*.conf | 定義內核模塊加載或屏蔽規(guī)則。例如禁用 USB 存儲模塊。 |
4. 日志與系統(tǒng)審計相關
文件路徑 | 作用與用途 |
/var/log/messages | 系統(tǒng)日志總匯(CentOS),包含服務、硬件、網(wǎng)絡等運行信息。 |
/var/log/syslog | 系統(tǒng)通用日志(Ubuntu/Debian),功能與 messages 類似。 |
/var/log/auth.log | 認證日志,記錄登錄、sudo 使用、密碼驗證等操作。 |
/var/log/secure | CentOS 的身份認證日志,與 auth.log 功能一致。 |
/var/log/dmesg | 內核啟動信息和驅動加載記錄,適用于查看硬件識別情況。 |
/var/log/boot.log | 系統(tǒng)每次啟動過程中的服務啟動輸出。 |
/var/log/wtmp | 登錄與注銷歷史記錄(二進制),可使用 last 查看。 |
/var/log/btmp | 登錄失敗記錄(二進制),可使用 lastb 查看暴力破解等風險。 |
/var/log/cron | 定時任務執(zhí)行日志,排查 crontab 是否正常運行的重要依據(jù)。 |
/var/log/kern.log | 內核級日志,記錄設備驅動、內核 panic、異常等。 |
5. 用戶環(huán)境與 Shell 配置相關
文件路徑 | 作用與用途 |
/etc/profile | 所有用戶登錄時會讀取的 shell 初始化腳本,適合設置全局變量、umask、PATH 等。 |
~/.bash_profile | 用戶級的登錄 shell 腳本,僅在登錄 shell 時執(zhí)行一次。 |
~/.bashrc | 用戶級的交互式 shell 配置,每次打開新終端都會執(zhí)行。 |
/etc/bashrc | 所有用戶的 Bash shell 配置文件,非交互式 shell 也會調用。 |
/etc/environment | 系統(tǒng)級的環(huán)境變量配置文件,不解析 shell 命令,只設定變量值。 |
6. 計劃任務與調度相關
文件路徑 | 作用與用途 |
/etc/crontab | 系統(tǒng)級定時任務文件,可設置任務所屬用戶,適合系統(tǒng)服務調度。 |
/etc/cron.d/ | 應用級或系統(tǒng)級服務的 crontab 配置目錄,支持自定義腳本。 |
/var/spool/cron/ | 用戶使用 crontab -e 創(chuàng)建的定時任務在此目錄下保存,以用戶名命名。 |
7. 系統(tǒng)信息與狀態(tài)查看相關
文件路徑 | 作用與用途 |
/proc/cpuinfo | 顯示當前 CPU 的型號、核心數(shù)、線程數(shù)、頻率等信息。 |
/proc/meminfo | 顯示內存總量、剩余、buffer、cache 等詳細內存信息。 |