作为运维,必须掌握的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 | 旧式网络接口配置文件,定义网卡的IP、掩码、网关等。 |
| /etc/sysconfig/network | 网络全局配置(如主机名、默认网关),适用于早期的RHEL系统 |
| /etc/sysconfig/network-scripts/ifcfg-* | 每个网卡一个配置文件,定义IP、DNS、网关等参数。 |
| /etc/netplan/*.yaml | Ubantu 18.04及以后的默认网络配置胸痛,使用YAML格式定义网络结构。 |
3.系统启动与服务管理相关
| 文件路径 | 作用与用途 |
|---|---|
| /etc/fstab | 设置系统启动时自动挂载的磁盘、分区、网络存储等。写错可能导致系统无法启动。 |
| /etc/rc.local | 自启动脚本,系统启动后自动执行。适用于执行一次性的初始化命令。 |
| /etc/inittab | SysV风格的初始化配置文件,现代多由systemd替代 |
| /etc/systemd/system/*.server | 用户自定义的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缓存、连接数、转发等。可通过systctl -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,PASH等。 |
| ~/.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等详细内存信息 |
评论区