权限提升-前置基础-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

别管我懒,哈哈

相关推荐
二炮手亮子2 分钟前
Linux命令行合集(涵盖定时任务、防火墙、SHH、线上问题实战等)
linux·运维
张洛闻Eren7 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
ltl8 小时前
Linux 异步 I/O:epoll 与 io_uring 对比
linux
ltl8 小时前
压缩算法工程实践:吞吐、比率与 CPU 权衡
linux
fiveym9 小时前
01 - iPXE + Clonezilla 网络装机原理解析
linux·运维·服务器·网络
虎头金猫9 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
dog2509 小时前
网络优化,还是降低各阶矩
服务器·网络·php
反转180度10 小时前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt
雨辰AI10 小时前
RAG 知识库搭建:基于人大金仓构建信创运维问答机器人|全栈国产化落地完整版
运维·ai·机器人·ai编程