2026最新Linux用户与系统基础操作实战:从入门到避坑,云原生时代必备基本功
文章目录
大家好,我是深耕Linux运维和云原生领域8年的老关。最近公司招了几个00后实习生,本来以为现在的年轻人接触技术早,Linux基础应该没问题,结果发现一个很普遍的问题:大家都在学Docker、K8s、AI大模型部署这些热门技术,但一到最基础的用户管理、文件权限、进程操作就频频踩坑。
上周就有个实习生,为了图方便直接给整个根目录执行了chmod 777 -R /,结果服务器直接崩溃,我们花了3个小时才恢复数据。这件事让我意识到,哪怕到了2026年云原生全面普及的今天,Linux的基础操作依然是所有技术人的基本功。很多看似复杂的生产环境问题,追根溯源都是基础不牢导致的。
今天我就结合自己8年的实战经验,还有最近带新人遇到的高频问题,给大家系统梳理一下Linux用户与系统基础操作的核心知识点,以及那些90%的人都会踩的坑。这篇文章没有空洞的理论,全是我亲手验证过的实操步骤和避坑指南,不管你是刚入门的新手,还是想巩固基础的老运维,都能有所收获。
一、用户与用户组管理:系统安全的第一道防线
用户管理是Linux系统最基础也是最重要的安全机制。在生产环境中,我们永远不会直接用root用户操作,所有任务都应该通过普通用户配合sudo权限完成。
1. 用户创建与删除:别再只会用useradd了
很多人创建用户就只会敲useradd 用户名,这其实是最容易出问题的用法。我整理了2026年生产环境中最常用的参数组合:
# 推荐的用户创建命令:自动创建家目录+指定shell+添加到附加组
useradd -m -s /bin/zsh -G docker,devops dev
-m:自动创建/home/dev家目录(必须加,否则会导致后续登录失败)-s:指定默认shell,现在越来越多开发者用zsh代替bash-G:添加到附加组,多个组用逗号分隔-u:指定UID,在多服务器环境中保持UID一致可以避免权限混乱
删除用户时也要注意加参数:
# 彻底删除用户,包括家目录和邮件
userdel -r dev
很多人忘了加-r,导致服务器上残留大量无用的家目录文件,时间长了会占用大量磁盘空间。
💡 小技巧:在Debian/Ubuntu系统中,
adduser是交互式命令,会引导你一步步设置用户信息,对新手更友好。
2. 用户组管理:批量权限管理的利器
当你需要给多个用户分配相同的权限时,用户组就派上用场了。最常用的命令就三个:
groupadd ops:创建ops用户组groupdel ops:删除ops用户组usermod -aG ops dev:把dev用户添加到ops组
重点避坑:添加用户到附加组时一定要加-a参数!如果不加-a,usermod -G会覆盖用户之前的所有附加组,导致用户失去之前的权限。我见过不止一个运维因为这个错误,把自己从sudo组里踢出去了。
查看用户所属组:
groups dev # 简洁显示
id dev # 详细显示UID、GID和所有组ID
3. sudo权限配置:最容易出问题的地方
sudo是生产环境中最常用的权限提升工具,但也是最容易配置错误的地方。永远不要直接编辑/etc/sudoers文件,一定要用visudo命令,它会自动检查语法错误,避免你把sudo搞坏。
sudoers文件的基本格式:
用户名 主机名=(运行身份) 命令
生产环境中常用的配置:
# 给dev用户授予所有命令的sudo权限(谨慎使用)
dev ALL=(ALL:ALL) ALL
# 更安全的做法:只授予必要的权限
dev ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
dev ALL=(ALL) /usr/bin/docker ps, /usr/bin/docker logs
⚠️ 重要提醒:
NOPASSWD参数虽然方便,但有很大的安全风险,建议只在自动化脚本等特定场景下使用。
如果遇到“用户不在sudoers文件中”的错误,解决方法很简单:用root用户执行visudo,在文件末尾添加一行即可。
4. 用户切换:su和sudo su的区别,别再搞混了
很多人分不清这几个切换用户的命令,我给大家讲清楚它们的区别:
su dev:切换到dev用户,但不会切换环境变量,工作目录也保持不变,不推荐使用su - dev:完全切换到dev用户,包括环境变量和工作目录,推荐使用sudo su - root:用当前用户的sudo权限切换到root,不需要输入root密码,生产环境常用sudo -i:和上面的命令效果完全一样,也是切换到root并加载环境变量
二、系统基础操作:日常运维的核心技能
这部分是Linux运维每天都要用到的技能,我会重点讲基础命令和2026年流行的增强工具,帮大家提高工作效率。
1. 文件与目录操作:这些增强工具能让你效率翻倍
基础命令ls、cd、pwd、mkdir、rm、cp、mv大家肯定都会,我就不啰嗦了。这里给大家推荐几个2026年几乎每个运维都在用的增强工具:
| 基础命令 | 增强工具 | 核心优势 |
|---|---|---|
| ls | exa | 彩色输出、Git集成、树状显示、速度提升300% |
| cat | bat | 语法高亮、行号显示、Git集成、自动分页 |
| find | fd | 搜索速度是find的10倍以上,语法更简洁 |
| grep | rg | 递归搜索速度极快,支持正则和多种编码 |
使用示例:
# 用exa查看文件,显示Git状态和树状结构
exa -l --git --tree -L 2
# 用bat查看nginx配置文件,自动语法高亮
bat /etc/nginx/nginx.conf
# 用fd搜索/var/log目录下所有.log文件
fd "*.log" /var/log
# 用rg搜索nginx日志中的error关键字(忽略大小写)
rg -i "error" /var/log/nginx/access.log
⚠️ 重要提醒:基础命令一定要先掌握,增强工具只是锦上添花。生产环境中很多服务器不会预装这些工具,到时候你总不能说“我只会用exa不会用ls”吧?
2. 文件权限管理:90%的系统问题都和权限有关
我敢说,你遇到的90%的Linux系统问题,最终都能追溯到权限问题。所以这部分一定要学扎实。
文件权限的基本概念:
- 三个身份:所有者(u)、所属组(g)、其他人(o)
- 三种权限:读(r=4)、写(w=2)、执行(x=1)
数字权限表示法:
- 755:rwxr-xr-x(目录和可执行文件常用)
- 644:rw-r–r–(普通文件常用)
- 700:rwx------(家目录常用,只有所有者能访问)
修改权限和所有者:
# 修改文件权限
chmod 755 script.sh
# 递归修改目录下所有文件的权限
chmod -R 644 /home/dev/project
# 修改文件所有者和所属组
chown dev:dev /home/dev/project
然后是很多人搞不懂的特殊权限:
- SUID:执行文件时以文件所有者的身份运行,比如
passwd命令(权限是rwsr-xr-x) - SGID:目录下新建的文件继承目录的所属组,适合团队协作目录
- Sticky Bit:只有文件所有者和root才能删除目录下的文件,比如
/tmp目录(权限是rwxrwxrwt)
绝对禁止:给普通二进制文件添加SUID权限,这会导致严重的提权漏洞。
3. 进程管理:快速定位和解决服务问题
进程管理是排查服务问题的核心技能。基础命令我就讲最常用的:
# 查看所有进程的详细信息
ps aux
# 查看进程的父子关系
ps -ef
# 以树状结构显示进程关系(非常直观)
pstree -p
实时监控工具推荐:
htop:比top好用10倍,支持鼠标操作、彩色输出、进程排序btop:2026年最火的系统监控工具,支持CPU、内存、磁盘、网络、GPU的实时监控,界面非常炫酷
进程终止命令:
kill 进程ID:发送TERM信号,优雅终止进程(优先使用)kill -9 进程ID:发送KILL信号,强制终止进程(不到万不得已不要用)pkill nginx:根据进程名终止所有nginx进程
现在所有主流Linux发行版都用systemd管理服务了,所以systemctl命令一定要熟练掌握:
systemctl start nginx # 启动服务
systemctl stop nginx # 停止服务
systemctl restart nginx # 重启服务
systemctl status nginx # 查看服务状态
systemctl enable nginx # 设置开机自启
systemctl disable nginx # 取消开机自启
systemctl daemon-reload # 重新加载配置文件
4. 系统资源监控:提前发现性能瓶颈
日常运维中,我们需要经常监控系统资源使用情况,提前发现性能瓶颈。常用命令:
# 查看内存使用情况(人类可读格式)
free -h
# 查看磁盘分区使用情况
df -h
# 查看/home目录的总大小
du -sh /home
# 查看所有TCP和UDP监听端口(代替老旧的netstat)
ss -tuln
# 查看磁盘IO情况
iostat -x 1
如果需要一站式监控所有系统资源,我推荐glances工具。它是一个跨平台的系统监控工具,支持CPU、内存、磁盘、网络、进程、传感器等所有资源的监控,还支持远程监控,用法非常简单,直接输入glances即可。
三、实战避坑指南:这些错误我至少犯过3次
这部分是整篇文章的精华,都是我在生产环境中踩过无数次坑总结出来的经验,大家一定要认真看。
1. 用户创建忘记加-m参数
坑点:创建用户时如果不加-m,系统不会自动创建家目录,用户登录时会出现“Could not chdir to home directory”的错误,而且很多配置文件无法生成。
解决方法:
# 事后手动创建家目录并设置正确权限
mkdir /home/dev
chown dev:dev /home/dev
chmod 700 /home/dev
预防措施:养成习惯,创建用户时一定加-m参数。
2. sudo配置错误导致无法使用sudo
坑点:很多人直接编辑/etc/sudoers文件,或者在visudo时写错语法,导致sudo命令无法使用。如果你的服务器禁止了root直接登录,那就只能进单用户模式修复了。
解决方法:
- 永远用
visudo命令编辑sudoers文件 - 如果已经出错,重启服务器进入GRUB菜单,选择“Advanced options”→“recovery mode”,进入root shell后执行
visudo修正错误
3. 滥用chmod 777
坑点:这是我见过最多人犯的错误。遇到权限问题就直接chmod 777,虽然能暂时解决问题,但会导致所有用户都能读写执行该文件,存在严重的安全风险。如果给根目录执行chmod 777 -R /,系统会直接崩溃。
解决方法:
- 永远不要使用
chmod 777,根据实际需求设置最小权限 - 目录一般设置为755,普通文件644,可执行文件755
- 如果不小心执行了错误的chmod命令,可以从其他正常的服务器复制权限,或者重新安装相关系统包
4. 随便用kill -9终止进程
坑点:kill -9会强制终止进程,不给进程保存数据和清理资源的机会。对于数据库、消息队列等重要服务,用kill -9可能导致数据丢失、文件损坏,甚至服务无法启动。
解决方法:
- 优先使用
kill 进程ID让进程优雅终止 - 如果进程没有响应,等待30秒后再考虑用
kill -9 - 重要服务一定要用自带的停止命令,比如
systemctl stop mysql
5. 云服务器权限隔离不到位
坑点:在云原生环境下,很多公司用同一台服务器部署多个服务。如果所有服务都用root用户运行,一旦某个服务被攻破,攻击者就能获得整个服务器的控制权。
解决方法:
- 每个服务都用独立的普通用户运行
- 禁止root用户直接通过SSH登录(修改
/etc/ssh/sshd_config中的PermitRootLogin为no) - 全面使用SSH密钥登录,禁用密码登录
四、2026年技术趋势:Linux基础操作的新变化
技术一直在发展,Linux基础操作也在不断演变。作为技术人,我们要紧跟趋势,了解最新的技术变化。
1. 容器化与用户命名空间
现在Docker和K8s已经成为主流,容器安全越来越受重视。用户命名空间(User Namespace)可以将容器内的root用户映射到宿主机上的普通用户,有效防止容器逃逸攻击。
2026年,几乎所有云厂商的容器服务都默认开启了用户命名空间。作为运维人员,你需要了解它的工作原理,以及它对文件权限的影响。
2. 无密码认证全面普及
密码登录存在被暴力破解的风险,现在越来越多的公司开始全面推行无密码认证。除了传统的SSH密钥登录,还有基于OAuth2的SSH认证(比如GitHub SSH)和基于硬件密钥的认证(比如YubiKey)。
很多云厂商已经支持将SSH密钥与云账号绑定,实现统一的身份认证和权限管理。
3. 自动化用户管理
在大规模集群环境下,手动管理用户已经不现实了。现在主流的自动化工具如Ansible、Puppet都支持批量管理服务器用户。
2026年,很多公司已经实现了用户管理的全自动化:员工入职时自动在所有服务器上创建用户,离职时自动删除用户,大大提高了效率和安全性。
4. 安全强化成为标配
随着网络攻击越来越频繁,Linux系统的安全强化已经成为标配。现在主流的Linux发行版(RHEL 9、Ubuntu 24.04)都默认开启了SELinux或AppArmor,以及防火墙。
很多人遇到问题就直接关闭SELinux,这是非常危险的做法。我们应该学会配置这些安全工具,而不是简单地关闭它们。
五、个人实战复盘总结
最后,我想和大家分享几点我这么多年的Linux使用心得:
-
基础永远是最重要的:不管技术怎么更新,Linux的用户管理、文件权限、进程操作这些基础知识点永远不会过时。很多看似复杂的生产环境问题,其实都是基础不牢导致的。
-
安全第一:在Linux系统中,权限管理是安全的核心。永远遵循最小权限原则,不要为了图方便而牺牲安全。一个小小的权限配置错误,可能会导致整个系统被攻破。
-
多实操少空谈:Linux是一门实践性很强的技术,只有多动手操作,才能真正掌握。建议大家在自己的虚拟机上多做练习,不要在生产环境上随便测试命令。
-
拥抱新工具但不依赖新工具:新的增强工具能提高效率,但基础命令一定要先掌握。生产环境千变万化,你永远不知道下一台服务器上安装了什么工具。
如果你在Linux操作中遇到过什么奇葩的坑,欢迎在评论区留言分享,我们一起交流学习。如果这篇文章对你有帮助,别忘了点赞、收藏、关注,我会持续分享更多实战技术干货。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)