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 等详细内存信息。 |
https://mp.weixin.qq.com/s/Obh5u0VYhtaC3x9luu9Jig?scene=1