当前位置: 首页 > news >正文

技术文章 | Ubuntu权限管理攻略

前言:在 Linux 系统生态中,Ubuntu 凭借其易用性和稳定性成为众多开发者与企业的首选操作系统。而权限管理作为 Ubuntu 系统安全的核心支柱,直接决定了系统的稳定性、数据安全性和操作规范性。本文将从基础原理到实战操作,全面解析 Ubuntu 权限管理的核心知识。

 一、权限管理三角:用户、组与权限 

Ubuntu 采用多用户多任务的操作系统设计,其权限管理体系建立在 "用户 - 组 - 权限" 的三角模型之上,理解这一模型是掌握权限管理的基础。

1.1  用户体系:三种身份的明确划分

Ubuntu 系统中将用户划分为三种核心身份:

  • root 用户:拥有对系统的绝对控制权,可执行包括删除系统文件、修改核心配置等所有操作。默认情况下,Ubuntu 为了安全起见会隐藏 root 用户的直接登录入口。

  • 普通用户:日常操作的主要身份,权限受限,仅能在授权范围内操作。

  • 系统用户:由系统自动创建的特殊用户,用于运行特定服务(如 www-data 用于 Web 服务),不允许交互式登录。

id命令可查看当前用户的身份,cat /etc/passwd命令可查看系统中所有用户的列表。

1.2  用户组:权限的批量管理单元

用户组是实现权限批量管理的有效机制,每个用户至少属于一个主组(创建时默认分配的组,通常与用户名同名),还可以加入多个附加组以获取特定权限集合。

groups命令可查看当前用户所属的所有组,cat /etc/group命令可查看系统中所有组的配置信息。

1.3  权限类型:文件操作的三重控制

Ubuntu 对文件和目录定义了三种基本权限,每种权限又分别对应文件所有者、所属组和其他用户三类对象:

  • 读权限(r):允许查看文件内容或列出目录中的文件

  • 写权限(w):允许修改文件内容或在目录中创建 / 删除文件

  • 执行权限(x):允许运行可执行文件或进入目录

权限有两种表示方式:字符型(如 rwxr-xr--)和数字型(r=4、w=2、x=1)。例如 rwxr-xr-- 对应数字权限 754(所有者 7=4+2+1,所属组 5=4+1,其他用户 4)。

 二、root 用户安全配置 

在开发板环境中,通常Ubuntu 默认使用 root 用户直接登录,方便测试,但同时也存在安全隐患。这里以我们RK3568评估板为例,为root 用户设置密码,优化登录配置:

2.1  root 密码设置

为 root 用户设置强密码可有效防止未授权访问,操作步骤如下:​​​​​​

# 执行密码设置命令
passwd root
# 系统会提示输入新密码(输入时无字符显示)
new password: 
# 再次输入确认密码
new password: 
# 出现"passwd: password updated successfully"提示即完成设置

图片

2.2  修改登录配置

默认配置中可能存在自动登录的授权参数,需要通过修改系统服务配置文件移除:

# 第一步:备份原始配置文件(关键操作必须先备份)
sudo cp /etc/systemd/system/serial-getty\@.service.d/override.conf /etc/systemd/system/serial-getty\@.service.d/override.conf.bak
# 第二步:编辑备份文件
vi /etc/systemd/system/serial-getty@.service.d/override.conf.bak
# 文件原始内容
[Service]
ExecStart=
ExecStart=-/sbin/agetty -a root -keep-baud 115200,38400.9600 %I STFRM

图片


# 第三步:移除自动登录参数
# 将第二行中的"-a root"参数删除,修改后内容为:
[Service]
ExecStart=
ExecStart=-/sbin/agetty -keep-baud 115200,38400.9600 %I STFRM

图片

    # 第四步:恢复配置文件
    sudo cp /etc/systemd/system/serial-getty@.service.d/override.conf.bak /etc/systemd/system/serial-getty@.service.d/override.conf -f
    # 第五步:设置服务自启动
    systemctl enable serial-getty@.service
    # 第六步:重启系统使配置生效
    reboot

    图片

    配置修改后,系统将要求输入密码才能通过串口登录 root 用户,大幅降低未授权访问风险。

    三、用户与组的精细化管理

    合理的用户和组管理是权限体系的基础,通过命令行工具可实现用户全生命周期的管理。

     3.1  用户管理核心命令

    • 创建用户:sudo adduser 用户名,会自动创建同名主组并提示设置密码

    • 删除用户:sudo deluser 用户名(仅删除用户)或sudo deluser --remove-home 用户名(同时删除用户主目录)

    • 修改用户密码:sudo passwd 用户名

    • 切换用户:su - 用户名("-" 表示切换环境变量,完全切换身份)

     3.2  组管理核心命令

    • 创建组:sudo addgroup 组名

    • 删除组:sudo delgroup 组名

    • 将用户加入组:sudo usermod -aG 组名 用户名(-a 表示追加,避免覆盖原有组)

    • 将用户移出组:sudo gpasswd -d 用户名 组名

    • 查看组成员:grep 组名 /etc/group

    图片

    四、文件与目录权限设置

    文件和目录的权限控制是日常操作中最频繁的权限管理场景,掌握相关命令能有效避免权限问题导致的操作失败。

     4.1  权限的基础修改

    • 修改权限(chmod):

    # 字符方式:给所有者添加执行权限
    chmod u+x test.c
    # 数字方式:设置权限为所有者读写执行,所属组读执行,其他用户只读
    chmod 754 test.c
    # 递归修改目录及子内容权限
    chmod -R 755 /data/project
    • 修改所有者(chown):

    # 修改文件所有者为user1
    chown user1 test.c
    # 同时修改所有者和所属组
    chown user1:group1 test.c
    # 递归修改目录所有者
    chown -R user1:group1 /data/project

    修改所属组(chgrp):

    chgrp group1 test.c

    图片

     4.2  常见权限问题排查

    • "Permission denied" 错误:检查文件权限、所有者和所属组,以及父目录权限

    • sudo 命令被拒绝:检查用户是否在 sudo 组或 sudoers 配置

    • 服务启动失败:检查服务相关文件权限是否正确,尤其是日志目录和配置文件

     结语 

    Ubuntu 权限管理为系统构建了安全可靠的权限控制体系,通过用户组划分、权限配置到 sudo 精细授权的流程设计,可实现从基础操作到多样场景的安全防护。本文涵盖从核心原理到实战命令的完整解析,开发者可根据实际场景调整权限策略,有效保障系统稳定与数据安全。

    想了解更多相关技术知识或产品信息,请关注眺望电子并联系我们,我们将竭诚为您服务!

    http://www.dtcms.com/a/332971.html

    相关文章:

  • Spark 运行流程核心组件(二)任务调度
  • 微软自曝Win 11严重漏洞:可导致全盘数据丢失
  • 如何在 Linux 上安装 SQL Server 2022 和 Azure Data Studio
  • 用 AI 大语言模型搞定生活小事
  • Vue组件通信全景指南:8种实战方案详解
  • 【科研绘图系列】R语言绘制三维曲线图
  • Rust面试题及详细答案120道(51-57)-- 错误处理
  • FIDO认证机制遭破解,降级攻击漏洞恐成新威胁
  • 洛谷P3817题解:贪心算法解决糖果分配问题
  • Rust学习笔记(三)|所有权机制 Ownership
  • fpga高速接口汇总整理
  • vue3 app.use()的作用
  • 功能组状态变更能否跨越功能组边界
  • 【递归、搜索与回溯算法】DFS解决FloodFill算法
  • Python subprocess.Popen 打开第三方程序
  • 鸿蒙ArkUI动画实战:TransitionEffect实现元素显隐过渡
  • 启动electron桌面项目控制台输出中文时乱码解决
  • 基于.net、C#、asp.net、vs的保护大自然网站的设计与实现
  • 深度解读 Browser-Use:让 AI 驱动浏览器自动化成为可能
  • 【微服务】.NET8对接ElasticSearch
  • Webapi发布后IIS超时(.net8.0)
  • 后台管理系统-2-vue3之路由配置和Main组件的初步搭建布局
  • 记一次impala的kerberos的配置信息
  • 什么是主网切换
  • DAY41打卡
  • 附045.Kubernetes_v1.33.2高可用部署架构二
  • Web攻防-大模型应用LLM安全提示词注入不安全输出代码注入直接间接数据投毒
  • 稳定且高效:GSPO如何革新大型语言模型的强化学习训练?
  • vue3相关基础
  • kubernetes(序)