【Linux入门篇】摆脱权限混乱困境:Linux用户组管理+sudo提权,一步到位


🍃 予枫个人主页
📚 个人专栏 : 《Java 从入门到起飞》《读研码农的干货日常

💻 Debug 这个世界,Return 更好的自己!


引言

做Linux开发或运维的同学,几乎都踩过权限的坑:改个配置文件提示Permission denied,瞎改777权限导致服务器被攻击,不知道sudo怎么配置而频繁切换root......其实Linux用户权限就像一套"安全门锁",User、Group、rwx权限、sudo提权,正是这套门锁的核心部件。今天就从理论到实战,把Linux用户权限讲透,新手也能轻松拿捏,再也不被权限问题困扰!

文章目录

一、Linux用户权限基础理论:读懂"安全门锁"的核心逻辑

Linux作为多用户、多任务操作系统,权限管控是其安全的核心------就像一个房子,不同的人(用户)有不同的开门权限(操作权限),而用户组就是"住户群组",方便统一管理权限。

1.1 User(用户)与Group(用户组):谁能进入"房子"?

  • User(用户):Linux中每一个使用者都是一个独立用户,每个用户都有唯一的UID(用户ID),用于系统识别(而非用户名)。
    • 系统用户:UID范围0-999,用于运行系统服务(如root、nginx),无需手动创建。
    • 普通用户:UID范围1000+,由管理员创建,用于日常操作,权限受限。
  • Group(用户组):多个用户的集合,每个用户至少属于一个用户组(主组),可加入多个附加组,有唯一的GID(用户组ID)。
    • 作用:批量管理权限,比如给"开发组"统一分配项目文件夹权限,无需逐个设置用户。

💡 小技巧:用id 用户名命令,可快速查看某个用户的UID、GID及所属用户组,新手必记!

1.2 Root用户:Linux系统的"超级管理员"

Root用户的UID=0,是Linux系统中权限最高的用户,拥有系统所有操作权限------可以修改任何文件、删除任何目录、执行任何命令,相当于"房子的主人"。

⚠️ 注意:日常操作严禁直接用root用户!一旦误操作(如rm -rf /),会导致系统崩溃,风险极高,建议用普通用户+sudo提权操作。

二、rwx权限详解:"门锁"的3种核心权限

Linux中,每个文件/目录都有3组rwx权限,分别对应"所有者(u)、所属组(g)、其他用户(o)",相当于"房子主人、同组住户、陌生人"的不同操作权限,也可以用数字表示(简化配置)。

2.1 rwx权限具体含义

权限符号 英文全称 对文件的作用 对目录的作用
r read 读取文件内容(如cat、more) 查看目录内文件(如ls)
w write 修改文件内容(如vim编辑、echo写入) 创建/删除/修改目录内文件(如touch、rm)
x execute 执行文件(如.sh脚本、可执行程序) 进入目录(如cd)

❗ 关键提醒:目录必须拥有x权限,才能进入;文件若要执行,必须拥有x权限(如脚本、程序),普通文档(如txt)无需x权限。

2.2 权限的数字表示法(高频实用)

为了简化权限配置,rwx权限可对应数字(r=4、w=2、x=1),每组权限的数字和就是该组的权限值,常用组合如下(记熟这3个,日常够用):

  • 7(rwx):4+2+1,拥有全部权限(一般给文件/目录所有者)
  • 6(rw-):4+2,拥有读取和修改权限(无执行权限,适合普通文档)
  • 5(r-x):4+1,拥有读取和执行权限(无修改权限,适合脚本、程序)

常见权限场景示例:

  • 普通文档(如test.txt):644 → 所有者rw-、所属组r--、其他用户r--(最安全)
  • 可执行脚本(如test.sh):755 → 所有者rwx、所属组r-x、其他用户r-x(可执行,无修改权限)
  • 个人目录(如/home/yufeng):700 → 只有所有者有全部权限,其他人无任何权限(隐私保护)

三、核心权限命令实战:手把手配置"门锁"

理论懂了,实战才是关键!以下4个命令是Linux权限管理的高频命令,结合示例讲解,新手跟着敲一遍就能掌握,记得点赞收藏,后续备用~

3.1 chmod:修改文件/目录权限(最常用)

命令格式:chmod [权限值/权限符号] 文件名/目录名

示例1:用数字表示法修改权限(推荐,简洁高效)

bash 复制代码
# 将test.sh脚本权限改为755(所有者rwx,其他r-x)
chmod 755 test.sh

# 将test.txt文档权限改为644(所有者rw-,其他r--)
chmod 644 test.txt

# 将/home/yufeng目录权限改为700(只有所有者可操作)
chmod 700 /home/yufeng

示例2:用权限符号修改权限(灵活,适合微调)

bash 复制代码
# 给test.txt所有者增加x权限(u+x)
chmod u+x test.txt

# 给test.sh所属组删除w权限(g-w)
chmod g-w test.sh

# 给所有用户增加r权限(a+r,a=all,代表u、g、o)
chmod a+r test.sh

3.2 chown:修改文件/目录的所有者和所属组

命令格式:chown 所有者:所属组 文件名/目录名(冒号分隔,可只改所有者或所属组)

示例:

bash 复制代码
# 将test.txt的所有者改为yufeng,所属组改为dev(开发组)
chown yufeng:dev test.txt

# 只修改目录project的所有者为yufeng
chown yufeng /home/project

# 递归修改目录及子内容的所有者和所属组(-R:递归,常用)
chown -R yufeng:dev /home/project

💡 小技巧:修改目录权限时,加上-R参数(递归),可同时修改目录内所有文件和子目录的权限/所有者,避免逐个修改。

3.3 useradd:创建新用户

命令格式:useradd [选项] 用户名(常用选项:-m 自动创建用户家目录,-g 指定主组)

示例:

bash 复制代码
# 创建用户yufeng,自动创建家目录/home/yufeng,主组为users
useradd -m -g users yufeng

3.4 passwd:设置/修改用户密码

命令格式:passwd 用户名(无用户名则修改当前登录用户密码)

示例:

bash 复制代码
# 给yufeng设置密码(输入后会提示输入密码,密码不显示,输入正确即可)
passwd yufeng

# 修改当前登录用户(如root)的密码
passwd

⚠️ 密码规范:建议设置复杂密码(字母+数字+特殊符号),避免简单密码(如123456),防止服务器被暴力破解。

四、sudo提权配置:安全使用"超级权限"

日常操作中,普通用户权限不足,频繁切换root用户又太危险,这时sudo提权就派上用场了------sudo允许普通用户执行原本只有root才能执行的命令,且会记录操作日志,方便追溯,是Linux运维的必备技能。

4.1 sudo配置原理

sudo的配置文件是/etc/sudoers,该文件权限为440(只有root可读取,不可修改),修改时需用visudo命令(自动检查语法,避免配置错误导致sudo失效)。

4.2 实战:给普通用户配置sudo权限

步骤1:用root用户登录,执行visudo命令,编辑sudoers文件

bash 复制代码
# 编辑sudoers配置文件(必须用visudo,不可直接vim编辑)
visudo

步骤2:添加sudo权限配置(在文件末尾添加,格式:用户名 主机名=(可切换的用户) 可执行的命令)

示例1:给yufeng用户配置全部命令的sudo权限(常用,适合管理员)

bash 复制代码
yufeng  ALL=(ALL)       ALL
  • 解释:yufeng用户在所有主机(ALL)上,可以切换到所有用户(ALL),执行所有命令(ALL)。

示例2:给yufeng用户配置指定命令的sudo权限(更安全,适合普通开发)

bash 复制代码
yufeng  ALL=(ALL)       /usr/bin/chmod,/usr/bin/chown
  • 解释:yufeng用户只能用sudo执行chmod和chown命令,其他命令无sudo权限,降低风险。

步骤3:保存退出(visudo用vim编辑器,按Esc,输入:wq保存退出即可)

步骤4:测试sudo权限(切换到yufeng用户,执行需要root权限的命令,前缀加sudo)

bash 复制代码
# 切换到yufeng用户
su - yufeng

# 用sudo执行chmod命令(原本普通用户无权限修改系统文件,加sudo即可)
sudo chmod 755 /etc/profile
  • 测试成功:输入yufeng用户的密码(不是root密码),即可执行命令;若提示"password for yufeng:",输入密码后执行成功,说明sudo配置生效。

五、总结

本文从Linux用户权限的基础理论(User/Group、UID/GID、Root),到rwx权限详解、4个核心权限命令(chmod、chown、useradd、passwd),再到sudo提权配置,完整覆盖了Linux用户权限与安全门锁的核心知识点,从理论到实战,新手也能轻松上手。

Linux权限管理的核心是"最小权限原则"------给用户/文件分配刚好够用的权限,不分配多余权限,这样才能最大限度保证服务器安全。日常操作中,记住644(普通文档)、755(可执行文件)、700(个人目录)这3个常用权限,以及sudo提权的正确配置,就能避开大部分权限坑。


✨ 我是予枫,CSDN资深技术博主,专注Linux、后端开发干货分享,关注我,下期带你解锁更多Linux高级权限技巧,避开更多运维坑!

💡 留言互动:你平时配置Linux权限时,还遇到过哪些问题?评论区留言,一起交流解决方案~

相关推荐
一个人旅程~2 小时前
Dell n4020双系统分区步骤和linux优化操作
linux·windows·电脑
忆~遂愿2 小时前
CANN metadef 深度解析:动态形状元数据管理、图编译器接口规范与序列化执行机制
大数据·linux
予枫的编程笔记2 小时前
【Linux入门篇】Linux文件操作不用记满屏命令,掌握touch/cp/mv核心用法就够了
linux·tar·linux命令·tail·cat·linux文件管理·linux新手教程
learning-striving2 小时前
kali连不上网解决方法
linux·开发语言·网络·php·kali
阿钱真强道2 小时前
12 JetLinks MQTT直连设备事件上报实战(继电器场景)
linux·服务器·网络·数据库·网络协议
wbs_scy2 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
Lethehong2 小时前
实测可用|一文搞定OpenClaw部署,免费kimi-k2.5+飞书远程,新手也能秒上手
linux·运维·服务器·玩转openclaw·云端创意实践
承渊政道3 小时前
Linux系统学习【Linux基础开发工具】
linux·运维·笔记·学习·centos·编辑器
艾莉丝努力练剑3 小时前
【Linux:文件】基础IO
linux·运维·c语言·c++·人工智能·io·文件