作为运维,应该掌握的 50 个 Linux 上重要的配置文件
今天分享一下50个Linux重要的配置文件,基本运维人员都需要知道。看你熟悉几个?
文件路径
作用与用途
/etc/passwd
存储所有用户基本信息,如用户名、UID、GID、主目录、默认 shell。是系统识别用户的第一步。
/etc/shadow
存储加密后的用户密码及密码策略(有效期、最小修改天数等)。只对 root 可读,增强账户安全。
/etc/group
存储系统的用户组信息。用于权限管理,控制用户对文件和服务的访问能力。
/etc/gshadow
存储加密后的用户组密码信息。用于增强组的安全访问控制。
/etc/sudoers
配置哪些用户/组可以使用 sudo 执行特权命令及其权限。需使用 visudo 编辑以防配置错误。
/etc/login.defs
定义用户账号默认策略,如密码有效期、UID 范围、账户过期时间等。
/etc/skel/
存放新建用户默认复制的文件模板,如 .bashrc,用于初始化用户环境。
/etc/security/limits.conf
设置每个用户或组的资源限制,如最大进程数、最大打开文件数。常用于防止资源滥用。
/etc/pam.d/
PAM配置目录,控制登录、sudo、su 等身份认证逻辑。
/var/log/lastlog
二进制格式,记录所有用户的最后一次登录时间、IP、终端。用 lastlog 查看。
2. 网络配置与访问控制相关文件路径
作用与用途
/etc/hosts
本地 DNS 映射,域名解析优先于远程 DNS。常用于内网解析、测试域名等场景。
/etc/resolv.conf
DNS 服务器配置文件,系统通过这里定义的 nameserver 进行域名解析。
/etc/hostname
当前主机名配置,影响命令行提示符、主机识别等。
/etc/nsswitch.conf
控制系统解析主机、用户、服务名时的顺序来源(如 files、dns、ldap)。
/etc/hosts.allow
TCP Wrapper 白名单,允许访问特定服务的 IP。
/etc/hosts.deny
TCP Wrapper 黑名单,拒绝特定服务的 IP 访问请求。
/etc/network/interfaces
(Ubuntu)
旧式网络接口配置文件,定义网卡的 IP、掩码、网关等。
/etc/sysconfig/network
(红帽系)
网络全局配置(如主机名、默认网关),适用于早期 RHEL 系统。
/etc/sysconfig/network-scripts/ifcfg-*
每个网卡一个配置文件,定义 IP、DNS、网关等参数。
/etc/netplan/*.yaml
Ubuntu 18.04 及以后的默认网络配置系统,使用 YAML 格式定义网络结构。
3 系统启动与服务管理相关文件路径
作用与用途
/etc/fstab
设置系统启动时自动挂载的磁盘、分区、网络存储等。写错可能导致系统无法启动。
/etc/rc.local
自启动脚本,系统启动后自动执行。适用于执行一次性的初始化命令。
/etc/inittab
SysV 风格的初始化配置文件,现代系统多已由 systemd 替代。
/etc/systemd/system/*.service
用户自定义的 systemd 服务单元文件,支持开机启动、自定义服务管理。
/usr/lib/systemd/system/*.service
系统服务的默认服务文件路径,安装包通常写入这里。不建议手动修改。
/etc/init.d/
SysV-init 服务脚本目录,兼容旧系统启动方式。
/etc/default/grub
GRUB 引导菜单的默认配置文件,修改后需运行 update-grub 生成实际配置。
/boot/grub2/grub.cfg
实际被 GRUB 引导器使用的配置文件。由 /etc/default/grub 自动生成。
/etc/sysctl.conf
配置内核参数,如 TCP 缓存、连接数、转发等。可通过 sysctl -p 加载生效。
/etc/modprobe.d/*.conf
定义内核模块加载或屏蔽规则。例如禁用 USB 存储模块。
4. 日志与系统审计相关文件路径
作用与用途
/var/log/messages
系统日志总汇(CentOS),包含服务、硬件、网络等运行信息。
/var/log/syslog
系统通用日志(Ubuntu/Debian),功能与 messages 类似。
/var/log/auth.log
认证日志,记录登录、sudo 使用、密码验证等操作。
/var/log/secure
CentOS 的身份认证日志,与 auth.log 功能一致。
/var/log/dmesg
内核启动信息和驱动加载记录,适用于查看硬件识别情况。
/var/log/boot.log
系统每次启动过程中的服务启动输出。
/var/log/wtmp
登录与注销历史记录(二进制),可使用 last 查看。
/var/log/btmp
登录失败记录(二进制),可使用 lastb 查看暴力破解等风险。
/var/log/cron
定时任务执行日志,排查 crontab 是否正常运行的重要依据。
/var/log/kern.log
内核级日志,记录设备驱动、内核 panic、异常等。
5. 用户环境与 Shell 配置相关文件路径
作用与用途
/etc/profile
所有用户登录时会读取的 shell 初始化脚本,适合设置全局变量、umask、PATH 等。
~/.bash_profile
用户级的登录 shell 脚本,仅在登录 shell 时执行一次。
~/.bashrc
用户级的交互式 shell 配置,每次打开新终端都会执行。
/etc/bashrc
所有用户的 Bash shell 配置文件,非交互式 shell 也会调用。
/etc/environment
系统级的环境变量配置文件,不解析 shell 命令,只设定变量值。
6. 计划任务与调度相关文件路径
作用与用途
/etc/crontab
系统级定时任务文件,可设置任务所属用户,适合系统服务调度。
/etc/cron.d/
应用级或系统级服务的 crontab 配置目录,支持自定义脚本。
/var/spool/cron/
用户使用 crontab -e 创建的定时任务在此目录下保存,以用户名命名。
7. 系统信息与状态查看相关文件路径
作用与用途
/proc/cpuinfo
显示当前 CPU 的型号、核心数、线程数、频率等信息。
/proc/meminfo
显示内存总量、剩余、buffer、cache 等详细内存信息。