权限提升-前置基础-linux

Linux 的三种用户类型

Linux 系统根据 UID(用户 ID)的不同,将用户严格划分为三个等级,就像现实社会中的不同身份一样。

超级用户 (root)
  • 身份象征 :UID 固定为 0
  • 权限:系统的绝对统治者。它不受任何权限限制,可以删除系统文件、修改任何配置、安装软件等。
  • 风险 :因为是"上帝",所以一旦操作失误(比如 rm -rf /)或者账号被盗,后果是毁灭性的。因此,生产环境中通常禁止 root 直接远程登录。
系统用户 (伪用户)
  • 身份象征 :UID 范围通常在 1~999 之间(CentOS 7 以后)。
  • 作用 :这类用户不是给人用的,而是给程序和服务 用的。比如你安装了 Apache 网站服务,系统可能会创建一个 apache 用户来运行它。
  • 特点
    • 它们通常没有登录权限(不能用来登录),或者登录 Shell 被设为 /sbin/nologin
    • 它们的存在是为了满足文件所有权的需求,保证服务运行时的安全隔离。
普通用户
  • 身份象征 :UID 通常从 1000 开始(CentOS 7 以后)。
  • 作用:给真实的人(管理员、开发人员、普通员工)使用的。
  • 权限 :权限受限。只能在自己的家目录下随意操作,想动系统文件(如 /etc 下的配置)通常需要加 sudo 提权。

通过命令查看当前用户信息

普通用户
  • 目的:为了让人能安全地使用Linux资源。
  • 特点:权限有限,只能在指定范围内操作,无法修改系统核心文件。
  • UID范围:通常大于1000(CentOS 7+)。
系统用户(伪用户)
  • 目的:为了让服务或程序能安全地运行。
  • 特点 :它们不是给人用的,而是给程序用的。例如,binmail等服务都需要一个专属的用户身份来运行,以实现权限隔离。这类用户通常无法登录系统。
  • UID范围:1 ~ 999(CentOS 7+)。

核心概念:用户组

用户组是为了方便权限管理而设计的。你可以把它想象成一个"权限包",把多个用户放进同一个组里,他们就能共享这个组的权限。

基本组(私有组)
  • 创建时机:当你创建一个新用户时,如果没有特别指定,系统会自动为你创建一个和用户名同名的组。
  • 特点:这个组就是该用户的基本组。通常情况下,这个组的GID(组ID)和用户的UID(用户ID)是相同的。一个用户只能有一个基本组。
附加组(公有组)
  • 目的:为了让用户获得额外的权限。
  • 特点 :一个用户可以同时属于多个附加组。例如,用户alice的基本组是alice,但她也可以被加入到dockerwheel这两个附加组中,从而获得运行Docker和使用sudo的权限。
  • 限制:Linux系统默认允许一个用户最多属于31个附加组。

用户与用户组的关系

一个用户可以属于一个基本组和多个附加组,这构成了灵活的多对多关系:

  • 一对一:用户A只属于组A。
  • 一对多:用户A属于组A(基本组)和组B、组C(附加组)。
  • 多对一:用户A和用户B都属于组C。
  • 多对多:用户A和用户B都属于组C和组D。
  • 查看所有的用户组(cat /etc/group)

linux核心

  • 这四个文件是 Linux 权限管理的基石,建议重点掌握前两个。
  • /etc/passwd(用户信息文件)
    作用: 存储所有用户的基本信息。
    特点: 所有用户都可以读取。因为它不包含真正的密码,只包含用户名、UID、GID、家目录等公开信息。
    内容示例(书中未列出,补充理解): root:x:0:0:root:/root:/bin/bash
    这里的 x 代表密码被存放在 /etc/shadow 里了。

  • /etc/shadow(影子文件/密码文件)
    作用: 存储用户的真实密码(加密后)以及密码的有效期信息。
    特点: 权限极高,只有 root 用户能读。这是为了安全,防止普通用户拿到加密串去暴力破解。
  • 使用之前先切换root用户
  • su root

  • /etc/group(用户组信息文件)
    作用: 定义用户组。里面记录了组名、GID,以及哪些用户把这个组当作"附加组"。

  • /etc/gshadow(组密码文件)
    作用: 类似于 /etc/shadow,它是用来存储组管理员和组密码的。
    现状: 在实际日常运维中,这个文件用得比较少,一般组管理不需要设密码。

/etc/passwd 文件字段详解(用户名)

/etc/shadow 文件的字段及其含义(密码)

/etc/group 文件的字段及其含义

/etc/gshadow 文件的字段及其含义

然后是通过命令对用户进行增删改

组合命令,创建用户-修改密码-删除用户

然后就是chmod命令和sudo命令和权限的模块分别见后文

sudo权限控制-CSDN博客

特殊权限位-粘滞位-sgid-suid-CSDN博客

chmod 用于更改文件或目录权限的重要工具-CSDN博客

linux权限理解-CSDN博客

上文全部理解并且实操就差不多了,这个是整理的,25年写过了所以不想写了emm

别管我懒,哈哈

相关推荐
IOT.FIVE.NO.11 小时前
claude code desktop cowork报错解决和记录Workspace..The isolated Linux environment ...
linux·服务器·数据库
TOWE technology2 小时前
EN32/G2401FCI——32A大功率,24位国标输出的高密度配电方案
linux·服务器·网络·科技·数据中心·pdu·智能pdu
johnny23310 小时前
运维管理面板:AcePanel、OpenOcta、DeepSentry
运维
青梅橘子皮10 小时前
Linux---基本指令
linux·运维·服务器
REDcker11 小时前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
cui_ruicheng12 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
蚰蜒螟12 小时前
深入 Linux 内核同步机制:从 futex 到 spinlock 的完整旅程
linux·windows·microsoft
运维全栈笔记12 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web
dllmayday13 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows