id -u 显示当前用户UID,如1000;2. whoami 显示当前有效用户名,如alice;3. su切换后whoami变root,who am i仍显示原登录用户alice,体现权限身份与登录来源的区别。

在linux系统中,用户身份的识别和管理是日常操作的重要部分。了解当前登录用户的ID信息以及使用whoami命令查看身份,对权限控制和脚本编写非常有帮助。
用户ID(UID)的基本概念
每个Linux用户都有一个唯一的数字标识,称为用户ID(UID)。系统通过UID来判断用户的权限,而不是用户名。可以通过以下方式查看当前用户的UID:
- 使用 id 命令:执行 id -u 可显示当前用户的UID。
- 查看所有用户信息:运行 id 会输出UID、GID(主组ID)以及所属的附加组。
- 查看用户名对应的UID:使用 id username 可查询指定用户的UID。
例如:
id -u
输出可能是:1000,表示当前用户的UID为1000。
whoami 命令的作用与用法
whoami 命令用于显示当前实际登录用户的用户名。它读取的是进程的有效用户身份,常用于确认你以哪个用户身份在操作。
- 基本用法:直接输入 whoami 并回车。
- 与 su 和 sudo 的区别:当你使用 su 切换用户后,whoami 会显示切换后的用户名。
- 脚本中的用途:在自动化脚本中,可用 whoami 判断当前执行者是否为预期用户。
示例:
whoami
输出可能是:alice
whoami 与 who am i 的区别
虽然名字相似,但两者行为不同:
比如你用 alice 登录,然后执行 su root,结果如下:
- whoami 输出:root
- who am i 输出:alice
这说明 whoami 更关注“你现在是谁”,而 who am i 关注“你是怎么进来的”。
基本上就这些。掌握 id -u 和 whoami 能帮你快速确认身份和权限上下文,避免因用户错位导致操作失败。