【问题标题】:How do I enable Active Directory/LDAP/Kerberos in Windows Subsystem for Linux (WSL)?如何在 Windows Subsystem for Linux (WSL) 中启用 Active Directory/LDAP/Kerberos?
【发布时间】:2018-08-07 23:27:10
【问题描述】:

我正在开发一个使用 Active Directory 进行身份验证的 PHP 应用程序。我正在尝试使用 Windows Subsystem for Linux (WSL) 进行开发。启动 WSL 时,您会使用不同的密码创建本地用户。我想弄清楚如何改用 AD。我发现了一个问题 (https://superuser.com/questions/1248278/wsl-and-ad-domain-account),但唯一的回应是一条对我来说并没有完全联系起来的评论。它提到了配置 IdM 提供程序,但我不清楚这是如何在 WSL 中完成的。

有人知道我如何在 WSL 中为用户/登录使用 Active Directory 吗?

【问题讨论】:

  • 您想在 WSL 中运行 service 还是 client
  • 您不需要在操作系统级别“启用”任何东西 - 除非您想要 SSO。如果子系统可以访问“ad.domain”的 AD 域控制器(充当 Kerberos KDC)并且 Kerberos 客户端配置正确且用户具有密码,Linux 用户 johndoe 可以获得 Kerberos TGT 为 svc_account@AD.DOMAIN为那个帐户。然后再进行一次往返以获得HTTP/some.server.fqdn@AD.DOMAIN 的服务票。然后 SPNego 对 Web 服务进行身份验证。
  • SSO 是我一直在寻找的。在我们的许多 Linux 系统上,我们设置了 Kerberos 来处理登录,因此我们可以使用我们的 AD 凭据通过 SSH 连接到任何机器。我想要与 WSL 类似的方法,所以我不需要维护单独的 linux 用户
  • WSL 是否支持 SSSD?如果是,请询问您的系统管理员如何将您的“Linux 身份验证服务”绑定到 AD。但我会感到惊讶——这是你对成熟的操作系统所做的事情,而不是为了模拟。

标签: windows-subsystem-for-linux


【解决方案1】:

这不是一个完整的答案,但 wsl 1 没有使用 sssd 所需的套接字支持。 sssd -i 上的 strace 的 sn-p 如下所示。所以理论上我会假设你应该能够用 wsl 2 做到这一点。

11:12:22 bind(14, {sa_family=AF_NETLINK, nl_pid=-2092926910, nl_groups=00000000}, 12) = 0
11:12:22 getsockname(14, {sa_family=AF_NETLINK, nl_pid=-2092926910, nl_groups=00000000}, [12]) = 0
11:12:22 setsockopt(14, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
11:12:22 setsockopt(14, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP, [1], 4) = -1 EINVAL (Invalid argument)
(2021-08-09 11:12:22): [sssd] [nlw_group_subscribe] (0x0020): Unable to add membership: Invalid input data or parameter

虽然我还没有测试过在 wsl 1.0 上注册类似领域的东西。

【讨论】:

    【解决方案2】:

    我得到了你的家人!

    这里是解决方案:http://michaeljw.com/blog/post/keyring-r-python-windows/

    这是酱汁:

    使用 Windows 凭据管理器存储您要使用的凭据 https://support.microsoft.com/en-us/windows/accessing-credential-manager-1b5c916a-6a16-889f-8581-fc16e8165ac0


    这是在 Python 中访问凭证管理器的命令: keyring.get_password(u"[域或 URI]", u"[用户名]")


    只要用户在凭据管理器中,您就应该能够使用该命令来更改凭据。你可能需要稍微玩一下才能让它正确,但它会起作用。请务必阅读链接的文章。

    享受

    我从我对这个问题的回答中复制了他们与您的链接: Can WSL inherit windows auth credentials

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-17
      • 2021-11-16
      • 2016-12-13
      • 2019-02-11
      • 1970-01-01
      • 2021-02-23
      • 1970-01-01
      • 2018-10-16
      相关资源
      最近更新 更多