代码之家  ›  专栏  ›  技术社区  ›  Matteo NNZ

从Bash Unix shell获取Windows用户名?

  •  0
  • Matteo NNZ  · 技术社区  · 7 年前

    有没有一种方法可以直接在Bash中获取连接到特定Unix环境的用户的Windows用户名,使用的总是同一个服务器的凭据?

    一些背景

    某个用户名 ,没有密码。 基本上,

    • Windows用户“Matteo”在计算机上打开了一个Windows会话 PMatteo.fr.company.com ".
    • SSH Linux机器上的会话 linuxMachine ,使用腻子。
    • someusername ,无密码,用户在。

    在Unix环境中,因此使用bash命令,我想检索Windows用户名“Matteo”。

    我目前的研究

    echo $(who am i) | cut -d "(" -f2 | cut -d ")" -f1
    

    显示两种输出,具体取决于我连接的机器:

    • 有时,它直接显示机器名 PMatteo.fr.公司.com网站
    • 有时,它只显示IP地址(例如。 45.32.4.19 nslookup 45.32.4.19 .

    有没有办法使用Bash脚本直接转到Windows用户名?我可以(相当)容易地找到机器名,所以我相信Windows用户名可能存储在某个地方,我只是不知道如何在网上找到它。

    目的

    从windows用户名,我总是可以重建用户的邮件地址。有时用户启动的命令可能会影响其他用户,但由于他们总是使用相同的用户名连接(Unix系统),因此没有人知道谁在实际执行该命令。 如果有人想阻止他们的行为,最好能通过电子邮件联系到他们。

    0 回复  |  直到 7 年前
        1
  •  2
  •   Ljm Dullaart    7 年前

    简单的答案是不。

    您不会将此信息传输到Unix/Linux服务器,因为您总是使用的凭据登录 someuser

    因为您可以从电脑的主机名派生用户名,所以您可能可以派生出windows用户名,但这有许多缺陷:

        2
  •  1
  •   jamieguinan    7 年前

    在油灰中,转到 连接->SSH->远程命令

    env WINUSER=yourname bash

    然后连接。应该设置环境变量 WINUSER 在远程shell环境中。

    这假设一个可信的环境,因为任何人在登录时都可以伪造设置。

    https://superuser.com )