如何从终端找到我的用户 ID (UID)?

bec*_*cko 253 command-line user-management

标题说明了一切。我需要从终端运行什么命令来查找我的用户 ID (UID)?

job*_*bin 344

有几种方法:

  1. 使用id命令可以获得真实有效的用户和组 ID。

    id -u <username>
    
    Run Code Online (Sandbox Code Playgroud)

    如果未向 提供用户名id,则默认为当前用户。

  2. 使用环境变量。

    echo $UID
    
    Run Code Online (Sandbox Code Playgroud)

  • @kangear id -g &lt;用户名&gt; (19认同)
  • GID怎么样? (8认同)
  • 这个答案的第二部分是**错误**。有问题的变量显然_不是_环境变量。这是一个 shell 变量。巨大差距。例如,您可以在 Bash 中使用 `echo $UID` 与 `env|grep ^UID` 来查看这一点。这特别意味着第一种方法更强大,而第二种方法只能在 shell 脚本中使用,而不是在 Python 之类的东西中使用(`python -c 'import os; print(os.environ)'` 来查看 *环境*)。 (3认同)

小智 80

简单地尝试

id
Run Code Online (Sandbox Code Playgroud)

这将返回您的用户 ID、组 ID 和您的所有组。

  • 或 `id -u` 只查看 UID (12认同)
  • 使用 `id -u` 和 `id -g` 就容易多了。谢谢。:) (3认同)

nux*_*nux 16

也试试:

getent passwd username
Run Code Online (Sandbox Code Playgroud)

这将显示用户 ID、组 ID 和主目录。

或者:

grep username /etc/passwd
Run Code Online (Sandbox Code Playgroud)

  • 是的,但是知道所有选项是很好的 (6认同)

小智 9

您可以使用id命令。

联机帮助页


Gab*_*les 5

获取正在运行的用户的用户 ID (UID) 和组 ID (GID)

id -u  # user ID (UID)
id -g  # group ID (GID)
Run Code Online (Sandbox Code Playgroud)

活动用户(我自己)的运行和输出示例:

$ id -u
1000
$ id -g
1000
Run Code Online (Sandbox Code Playgroud)

对于 root 用户(通过sudo):

$ sudo id -u
[sudo] password for gabriel: 
0
$ sudo id -g
0
Run Code Online (Sandbox Code Playgroud)

注意,第一用户一般1000是UID和GID两者,root用户一般是0UID和GID两者。