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

https://mp.weixin.qq.com/s/Obh5u0VYhtaC3x9luu9Jig?scene=1