【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权限时,还遇到过哪些问题?评论区留言,一起交流解决方案~

相关推荐
历程里程碑17 小时前
53 多路转接select
linux·开发语言·数据结构·数据库·c++·sql·排序算法
WYH28717 小时前
一、驱动基础
linux·嵌入式硬件
痕忆丶17 小时前
openharmony开发之磁盘相关
linux
z2023050817 小时前
RDMA 之RoCEv2 的报文格式(5)
linux·服务器·网络·人工智能
uesowys17 小时前
CentOS Linux安装部署Hermes Agent智能体
linux·centos·hermes agent
毋语天17 小时前
Linux 命令——文件、进程、网络与 Vim 编辑器
linux·网络·编辑器
William.csj17 小时前
Linux——查看cuda版本的全面方法
linux·运维·服务器
薛定猫AI19 小时前
Codex 与 Claude Code 全平台安装配置指南(Windows / macOS / Linux)
linux·windows·macos
kidwjb1 天前
信号量在进程中的使用
linux·进程间通信
sulikey1 天前
个人Linux操作系统学习笔记2 - gcc与库的理解
linux·笔记·学习·操作系统·gcc·