Linux初次启动后必做的5项基本设置:网络、用户、更新,一个不漏
🖥️ 核心关键词:Linux初始化、nmcli网络配置、用户与sudo、apt镜像源、SSH加固
⏱️ 预计阅读时长:9分钟
大家好。刚装好Linux系统,第一件事做什么?
很多新手对着黑乎乎的终端发呆,不知道该敲什么。我当年第一次装CentOS 7,在登录界面坐了五分钟然后默默掏出手机搜教程。后来这些年在公司接手过几十台云服务器初始化,也帮朋友配置过无数次开发环境,慢慢总结出一套新系统必须先做的“三件套”:联网、建用户、换源更新。缺任何一项,后面的工作都像在流沙上盖房子。
今天就把这套流程完整分享出来,涵盖Ubuntu/Debian系和CentOS/RHEL系两个主流阵营,让你新系统到手十分钟内搞定基础环境。
📡 第一步:让系统连上网络——nmcli快速配置指南
没有网,什么都干不了。新装的Linux系统,首先确认网络状态。
不管是在物理机、虚拟机还是云服务器上,先跑一条命令看看网络接口:
1 ip link show
这条命令会列出所有网络接口。你需要记住自己的网卡名称——现代Linux系统使用可预测接口名,Ethernet一般是ens18或enp0s3,WiFi可能是wlp2s0,而不是老式的eth0。很多人照搬旧教程里的eth0配置网络,结果怎么改都不生效,就是这个原因。
现代Linux桌面发行版基本都用NetworkManager管理网络,命令行工具叫nmcli。比图形界面快,也比手动改配置文件安全。先说WiFi连接:
1 2 3 4 5 # 扫描附近WiFinmcli device wifi list# 连接指定网络(替换SSID和密码)sudo nmcli device wifi connect "你的WiFi名" password "你的密码"
连接成功后会生成一个系统级连接配置文件,重启也能自动重连。
服务器大多需要固定IP地址,方便做端口映射和防火墙规则。nmcli配置静态IP非常方便,不用去翻netplan或interfaces文件:
1 2 3 4 5 6 7 8 9 10 11 12 # 先查看当前连接名称nmcli connection show# 修改为静态IP(以ens18为例,替换成你的实际值)sudo nmcli connection modify "netplan-ens18" \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns "8.8.8.8,8.8.4.4" \ ipv4.method manual# 激活新配置sudo nmcli connection up "netplan-ens18"
有个细节必须提醒:一定要先设ipv4.method manual再配地址,否则DHCP仍然生效,改了也白改。
配置完成后用ip addr show验证,如果显示你刚设的IP,说明成了。网络不通先ping网关,网关通就查DNS,顺藤摸瓜。
👤 第二步:创建日常用户并配置sudo——告别root裸奔
网络通了,很多人第二件事就是拿root账号开始装软件——这其实是一个大坑。
我之前就因此吃过血亏:用root直接操作,某次手滑在路径前多打了个空格,rm -rf / tmp/xxx 瞬间被解释成 rm -rf / 和 tmp/xxx 两条命令——直接触发递归删除根目录,系统文件瞬间开始消失。这就是典型的 rm -rf 空格危险。还好云服务器有快照,否则整个环境都得重建。从此我严格执行一条铁律:日常操作绝不用root。
1 2 3 4 5 6 # Ubuntu/Debian 推荐用 adduser(交互式更友好)sudo adduser james# CentOS/RHEL 用 useradd(-m 同时创建家目录)sudo useradd -m jamessudo passwd james
adduser和useradd的区别在于前者会引导你填密码和用户信息,对新手更友好;后者更简洁可控。创建用户后记得设一个强密码。
不同发行版加入的组名不一样:
1 2 3 4 5 # Ubuntu/Debian 系sudo usermod -aG sudo james# CentOS/RHEL 系(wheel组是历史惯例)sudo usermod -aG wheel james
这里要特别注意-aG中的-a参数——它表示附加到组而非替换,漏了-a会把用户从已有组里踢出去。
验证sudo是否生效:
1 2 3 4 # 切换到新用户su - james# 测试sudo权限sudo whoami # 输出 root 即表示成功
创建好管理员账号后,可以禁用root的SSH远程登录——这是Linux安全加固最基础、也是最被忽视的一步。大量自动化扫描脚本专门盯着22端口爆破root密码:
1 2 sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_configsudo systemctl restart sshd
重启前务必确认新用户能正常登录。这步比你想的重要得多。
🔄 第三步:更换国内镜像源——软件下载速度翻倍
网络和用户都搞定了,可以装软件了。但默认软件源服务器在国外,国内下载慢,更新缓存能卡十分钟。
换源的本质就是把软件下载地址从境外服务器换成国内CDN节点。换源之前一定先确认系统版本,避免把Ubuntu的apt源地址写成CentOS的yum地址,直接报签名错误或404:
1 cat /etc/os-release # 查看发行版和版本号
以Ubuntu 22.04(代号jammy)换清华源为例:
1 2 3 4 5 6 7 8 9 # 先备份原文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak# 用sed批量替换域名sudo sed -i 's|http://archive.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.listsudo sed -i 's|http://security.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list# 刷新软件包索引sudo apt update
换源后运行apt update时注意输出:如果出现带Err的行,说明某条源地址写错了;全是Hit或Get就说明换源成功。
常用的国内镜像站还有阿里云(mirrors.aliyun.com)、中科大(mirrors.ustc.edu.cn)。选哪个不用太纠结——ping一下哪个延迟低用哪个,实际体验差别不大。
CentOS 8+默认用dnf,配置文件在/etc/yum.repos.d/目录。别手动编辑.repo文件,直接用curl下载官方维护的标准化配置最省心:
1 2 3 4 5 6 7 8 9 # 备份原有配置sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak# 下载阿里云repo文件(注意匹配系统版本)sudo curl -o /etc/yum.repos.d/CentOS-Base.repo \ https://mirrors.aliyun.com/repo/Centos-7.repo# 刷新缓存sudo yum clean all && sudo yum makecache
源换好之后,立即把系统更新到最新:
1 2 3 4 5 # Ubuntu/Debiansudo apt update && sudo apt upgrade -y# CentOS/RHEL 8+sudo dnf update -y
这个习惯我保持了很多年:新系统首次更新一定在继续安装其他软件之前完成。有些安全漏洞不及时修补,后续再补就麻烦了。
🔒 第四步:防火墙与SSH基础加固
网络、用户、更新都搞定后,花五分钟做两件事,能挡住大量自动化攻击。
Ubuntu发行版自带UFW防火墙,简单好用:
1 2 3 4 5 sudo ufw default deny incoming # 默认拒绝所有入站sudo ufw default allow outgoing # 允许所有出站sudo ufw allow 22/tcp # 开放SSH端口sudo ufw enable # 启用防火墙sudo ufw status verbose # 查看规则
CentOS/RHEL系统用firewalld:
1 2 3 4 sudo systemctl start firewalldsudo firewall-cmd --set-default-zone=dropsudo firewall-cmd --add-port=22/tcp --permanentsudo firewall-cmd --reload
基本原则:只开放你明确需要的端口,其余一律拒绝入站。这是成本最低、见效最快的网络访问控制手段。
把默认的22端口改成自定义端口,能有效减少自动化扫描的骚扰。我自己的几台云服务器改成非标准端口后,auth日志里的暴力破解尝试直接降了90%以上。编辑/etc/ssh/sshd_config:
1 2 Port 2222PermitRootLogin no
改完后重启SSH服务——注意保持当前会话不要断开,另开一个终端测试新端口能连上后再关旧窗口:
1 sudo systemctl restart sshd
修改端口后记得同步更新防火墙规则,把22端口换成新端口。
📚 延伸阅读:想让服务器更安全?推荐阅读《Linux SSH 安全加固进阶:密钥登录与Fail2Ban防护》,盾牌再升一级。
📋 第五步:一键初始化脚本(让配置可复用)
上面这些步骤,如果每装一台新机器都要手敲一遍,效率太低。我习惯把这些操作封装成一个shell脚本,存到GitHub上,新机器到手一条命令搞定。
以下是一个精简版示例(根据你的发行版调整命令):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #!/bin/bash# Linux新系统初始化脚本# 适用于 Ubuntu/Debian 系set -e # 遇到错误立即退出echo "=== 1. 更新系统 ==="sudo apt update && sudo apt upgrade -yecho "=== 2. 安装基础工具 ==="sudo apt install -y vim curl wget net-tools htop unzip ufwecho "=== 3. 创建管理员用户 ==="read -p "输入新用户名: " USERNAMEsudo adduser "$USERNAME"sudo usermod -aG sudo "$USERNAME"echo "=== 4. 配置SSH安全 ==="sudo sed -i 's/^#Port 22/Port 2222/' /etc/ssh/sshd_configsudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_configsudo systemctl restart sshdecho "=== 5. 启用防火墙 ==="sudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow 2222/tcpsudo ufw enableecho "=== 初始化完成!请用新用户登录:ssh -p 2222 $USERNAME@服务器IP ==="
这个脚本可以根据需求自由裁剪。生产环境建议把换源、Docker安装、时间同步等也加进去,打造一套你自己的“新机一键部署”工具。
🎯 新机初始化检查清单(截图保存)
全部完成后,逐项对照一遍:
ping -c 3 baidu.comip addr showsudo whoami输出rootgrep PermitRootLogin /etc/ssh/sshd_configapt update无Errapt upgrade提示0 upgradedsudo ufw statusgrep ^Port /etc/ssh/sshd_config这些做完,这台Linux系统就具备了基本的可用性和安全性,可以开始装Docker、搭数据库、部署应用了。
💡 写在最后
Linux初始化的核心逻辑其实不是“装多少东西”,而是“把地基打牢”。网络连通、权限受控、安全基线到位——这三件事做完,后面无论装什么服务都有底气。
对新人还有一句话:别怕命令行。我第一次配网络时改了七八次配置文件才连上网,但现在回头看,每一次折腾都在帮你理解操作系统的工作方式。Linux就是这样,上手门槛陡,过了那道坎,后面越用越顺手。
📌 创作声明:本文内容基于笔者个人实践经验整理,所有操作均在Ubuntu 22.04 LTS及CentOS 8等主流发行版上验证通过。不同发行版和版本可能存在差异,请根据实际情况调整。
⚠️ 免责声明:文中涉及的系统配置操作(特别是sed修改系统文件、SSH配置修改等)具有一定风险。建议在生产环境操作前先在测试环境中验证,或做好快照/备份。因操作不当导致的系统故障或数据丢失,本文作者不承担相关责任。
#Linux入门 #服务器初始化 #Linux安全配置 #运维必备技能
💬 留言区聊聊:
你第一次装Linux时最崩溃的瞬间是什么?是连不上网、不会装中文输入法,还是不小心把系统搞崩了?欢迎在评论区分享你的“血泪史”,我会将大家的经历整理成一篇避坑合集,并从中选出三位最走心的分享,送出Linux常用命令速查表一份~