作为运维,应该掌握的 50 个 Linux 上重要的配置文件

今天分享一下50个Linux重要的配置文件,基本运维人员都需要知道。看你熟悉几个?

1 用户与权限管理相关

文件路径

作用与用途

/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 等详细内存信息。

THE END