在小公司干了三年运维,天天手动改 hosts、批量导出注册表、用 Excel 记 IP 段和权限列表——直到跳槽进大厂第一天,被要求登录 CMDB 看服务拓扑、在 SaltStack 控制台一键推送配置、还要给新同事讲清楚 Ansible Playbook 里 when 和 loop 的执行顺序……不是技术不行,是系统设置的‘玩法’彻底变了。
小公司靠人,大厂靠体系
小公司系统设置往往是一台 Windows Server + 几台虚拟机 + 一个共享文件夹。装软件、开远程、改防火墙,全靠鼠标点+截图留痕。大厂呢?你连服务器控制台都摸不到,所有操作必须走审批流,配置变更要经过 Git 提交、CI 测试、灰度发布三道关。比如改个 NTP 时间源:
小公司:
net stop w32time
net start w32time
w32tm /config /manualpeerlist:"ntp1.aliyun.com" /syncfromflags:manual /reliable:yes /update大厂:
# 在 infra-config-repo 仓库提交 PR
- name: Set internal NTP server
win_time:
servers:
- "10.200.1.5"
sync_on_start: yes
when: inventory_hostname in groups['prod-win']升级路上绕不开的三块硬骨头
1. 配置即代码(IaC)入门
别再双击安装包了。大厂所有系统设置——从 BIOS 启动模式、网卡驱动版本,到用户默认 Shell、SSH 密钥策略——都写成代码存 Git。Ansible 是最友好的起点,语法像说话:copy src=dotfiles/.vimrc dest=/home/{{ user }}/,但得先学会变量分层、role 目录结构、inventory 动态分组。
2. 权限收敛与审计留痕
小公司 admin 账号满天飞,大厂连 sudo 都要审批。你在终端敲 sudo systemctl restart nginx,背后触发的是 RBAC 角色校验 + 操作日志自动上报 SIEM 平台 + 15 分钟后发邮件提醒你“本次重启影响 3 个业务接口”。系统设置不再只是‘让机器跑起来’,而是‘让每一次改动可追溯、可回滚、可归责’。
3. 本地环境与生产环境对齐
小公司开发直接连测试库改表;大厂本地用 Vagrant 或 Docker Desktop 模拟完整环境,Vagrantfile 里明确声明 CPU 核数、磁盘 IO 模式、内核参数。连 /etc/sysctl.conf 的 vm.swappiness=1 这种细节,都要和线上保持一致——否则上线当天就 OOM。
实操建议:从今天下午就开始
不用等跳槽通知。现在打开你自己的笔记本:
• 把常用系统设置命令(如修改 DNS、禁用 IPv6、调整 TCP keepalive)整理成一个 setup.sh,加 Git 版本管理;
• 用 VirtualBox 装一台 CentOS,照着官网文档用 Ansible 写个 role,自动完成基础安全加固(禁用 root 登录、开启 faillock、配置 auditd);
• 下载一份某大厂开源的 linux-hardening playbook,删掉看不懂的部分,只跑通 users.yml 和 ssh.yml ——跑通那一刻,你就已经踩进大厂系统设置的门槛了。