在Linux系统管理与渗透测试场景中,用户植入是核心基础操作——无论是合法运维中创建普通用户分配权限,还是渗透测试里的权限维持(如隐藏影子用户),掌握用户创建、提权、权限查看的核心命令,都是必备技能。本文基于实操笔记,全程拆解Linux用户植入全流程,涵盖普通用户创建、sudo提权、影子用户隐藏,搭配详细权限解析和可直接复制的命令,新手能快速上手,老手可查漏补缺。

一、基础植入:新建带家目录的普通用户(核心实操)

新建普通用户是最基础的植入操作,默认情况下useradd命令仅创建用户,不自动生成家目录,需添加参数手动指定,全程需root权限,终端执行即可。

1. 新建带家目录的普通用户

核心命令(可直接复制):useradd -m 用户名

参数说明:-m 是核心参数,作用是自动为新建用户创建对应的家目录,默认路径为 /home/用户名,无需手动创建,简化操作流程。

实操示例:useradd -m testuser,执行后系统会自动生成 /home/testuser 目录,作为testuser的专属家目录。

2. 为新建用户设置登录密码

新建用户默认无密码,无法登录,需用passwd命令设置密码,命令可直接复制:

核心命令:passwd 用户名

实操步骤:执行命令后,终端会提示 Enter new UNIX password,输入密码(输入时不显示,避免密码泄露),再次确认密码即可完成设置。

注意:建议设置复杂密码(字母+数字+特殊符号),避免弱密码被破解;若提示 password too simple,可忽略提示或按系统要求调整密码复杂度。

3. 补充:查看SSH状态(适配远程登录)

若需通过SSH远程登录新建用户,需先确认SSH服务是否开启,核心命令:

service ssh status

效果说明:若终端显示 active (running),说明SSH服务已开启,可直接远程登录;若显示 inactive (dead),需执行 service ssh start 启动SSH服务。

4. 补充:查看系统版本(适配不同发行版命令)

不同Linux发行版(如Ubuntu、CentOS)部分命令略有差异,可先查看系统版本,避免命令失效:

简化命令(查看内核版本):uname

详细命令(查看完整系统信息):uname -a

二、核心解析:用户、组及密码相关文件(必学知识点)

Linux中用户、组、密码的核心信息均存储在特定系统文件中,掌握这些文件的解析方法,既能快速排查权限问题,也能为后续提权、隐藏用户打下基础。

1. 查看所有用户信息:/etc/passwd 文件

核心命令:cat /etc/passwd

文件解析:每一行对应一个用户,用冒号(:)分隔,共7列,重点解析如下:

  • 第1列:用户名(核心标识,用于区分不同用户);

  • 第2列:X(密码占位符)—— 重点:密码并非存放在该文件中,X仅表示“预留密码位置”,真实密码存储在另一文件中(下文详解);

  • 第3列:UID(用户ID)—— 核心权限标识,管理员(root用户)的UID和GID(组ID)均为0,通过UID可快速判断是否为root用户;

  • 第4列:GID(组ID)—— 用户所属主组的ID;

  • 第5列:用户描述(可选,默认为空,可手动修改,用于说明用户用途);

  • 第6列:家目录路径(普通用户默认 /home/用户名,root用户默认 /root);

  • 第7列:shell(命令解释器,相当于“翻译官”,负责解析用户输入的命令,默认是 /bin/bash)。

2. 查看所有用户组信息:/etc/group 文件

核心命令:cat /etc/group

作用:查看系统中所有用户组,每一行对应一个组,包含组名、组密码占位符、GID、该组下的所有用户,后续给用户添加附加组时,需通过此文件确认组名(如sudo组)。

3. 查看用户密码详情:/etc/shadow 文件

核心命令:cat /etc/shadow

说明:该文件是Linux系统的密码配置文件,权限严格(仅root用户可查看),每一行对应一个用户的密码信息,用冒号(:)分隔,核心列解析:

  • 第1列:用户名(与 /etc/passwd 第1列完全一致);

  • 第2列:加密后的密码—— 若显示 ※ 或 !,表示该用户密码被禁用,无法登录;

  • 第3列:密码最后修改日期(以1970年1月1日为起始点,计算的天数);

  • 第4列:密码最小修改间隔(天数,即修改密码后,至少过多少天才能再次修改);

  • 第5列:密码有效期(天数,超过该天数,密码会过期,需重新设置)。

4. 查看文件权限与归属:ls -l 命令

核心命令:ls -l

作用:详细查看当前目录下所有文件/目录的信息,包括文件类型、权限、所有者、所属组、最后修改日期等,核心用于判断用户对文件的操作权限。

权限解析(r、w、x 对应读、写、执行,数字表示更直观,核心记忆):

  • r(读权限):数字4,对应权限—— 可查看文件内容、列出目录下的文件;

  • w(写权限):数字2,对应权限—— 可修改文件内容、创建/删除目录下的文件;

  • x(执行权限):数字1,对应权限—— 可执行文件、进入目录;

  • -(无权限):数字0,对应权限—— 无法对文件/目录进行任何操作。

实操示例:若文件权限为 -rwxr-xr--,则:

所有者(第一个rwx):拥有读、写、执行权限(4+2+1=7);

所属组(第二个r-x):拥有读、执行权限(4+1=5);

其他用户(第三个r--):仅拥有读权限(4)。

三、权限提升:普通用户sudo提权(实操可直接复制)

新建的普通用户默认无管理员权限,无法执行 cat /rootls /root 等操作,需通过两种方式实现sudo提权,其中第二种方式可实现临时root权限,实操性更强。

方式1:将普通用户添加到sudo附加组

核心命令(可直接复制):usermod -aG sudo 用户名

参数说明:-aG 中,G表示“添加到附加组”,a表示“追加”,避免覆盖用户原有组;sudo是系统默认的管理员权限组,加入该组后,用户可使用sudo命令临时提权。

注意:此方式添加后,用户虽能使用sudo,但部分高权限操作仍可能受限,且可通过 cat /etc/group 查到该用户所属的sudo组,隐蔽性一般。

方式2:修改/etc/sudoers文件(推荐,提权更彻底)

此方式可让普通用户拥有与root同等的临时权限,且隐蔽性优于方式1,步骤如下(全程root权限执行):

  1. 编辑sudoers配置文件,核心命令:nano /etc/sudoers

  2. 在文件中找到root用户的配置行(通常为 root ALL=(ALL:ALL) ALL);

  3. 复制该行内容,粘贴到下一行,将“root”改为新建的用户名(如testuser),修改后为 testuser ALL=(ALL:ALL) ALL

  4. 保存退出:按 ctrl+X,输入 Y 确认保存,回车退出编辑器;

  5. 测试提权:切换到新建用户,执行 sudo ls /root,输入该用户密码,即可临时提权到root,成功查看/root目录内容。

四、权限维持:影子用户创建(更隐秘,渗透测试常用)

影子用户是一种隐蔽性极强的用户,本质是复制root用户的权限配置,修改用户名后隐藏,不易被发现,适合渗透测试中的权限维持,实操步骤可直接复制:

  1. 编辑用户配置文件,核心命令:nano /etc/passwd

  2. 在文件中找到root用户的配置行(UID和GID均为0),复制该行内容;

  3. 将复制的内容粘贴到下一行,将该行的“root”改为自己创建的影子用户名(如hiddenuser),确保UID和GID仍为0(保持root权限);

  4. 保存退出:按ctrl+X,输入 Y 确认保存,回车退出编辑器;

  5. 生效测试:退出当前连接(执行 exit),重新连接目标机器,使用影子用户名和密码登录,即可获得root权限,且不易被常规排查发现。

五、补充知识点:用户(user)与组(group)核心概念

掌握用户与组的基础概念,能更好地理解权限分配逻辑,避免操作失误:

1. 用户(user)分类(按UID区分)

  • root用户:UID=0,是系统最高权限用户,可执行所有操作;

  • 系统用户:UID=1-999,通常用于系统服务进程,无需登录,仅用于运行服务;

  • 普通用户:UID≥1000,是日常使用的用户,权限受限制,需提权才能执行高权限操作。

2. 组(group)分类(批量管理用户权限)

  • 主组(primary Group):用户创建时默认归属的组,用户创建的文件/目录,默认归属主组;

  • 附加组(supplementary Group):用户可额外加入的组,用于获取该组的权限,一个用户可加入多个附加组。

六、实操总结(重点梳理,快速回顾)

本文所有命令均可直接复制实操,核心流程梳理:

  1. 新建普通用户:useradd -m 用户名passwd 用户名

  2. 辅助操作:service ssh status(查SSH)、uname -a(查系统版本);

  3. 权限查看:cat /etc/passwd(用户)、cat /etc/group(组)、cat /etc/shadow(密码)、ls -l(文件权限);

  4. sudo提权:usermod -aG sudo 用户名 或 修改 /etc/sudoers 文件;

  5. 影子用户:复制root配置到 /etc/passwd,修改用户名,保存生效。

注意:所有操作需在合法授权下进行,渗透测试仅用于授权场景,禁止未授权操作!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐