无法在 WSL2 中默认使用 LDAP 用户

无法在 WSL2 中默认使用 LDAP 用户

我将桌面上的 wsl2 实例加入了 FreeIPA 域。

su myusername通过执行甚至 ,我可以在登录时正常切换到 ldap 用户sudo -u myusername zsh

但我无法设置默认用户/etc/wsl.conf。我尝试设置:

[user]
default=myusername

我也尝试输入sudo -u myusername zsh我的.zshrc,但都给出了错误

<3>WSL (4348) ERROR: CreateProcessEntryCommon:357: getpwnam(myusername) failed 0

答案1

FreeIPA(LDAP)需要运行一个服务(sssd 或 nslcd)来处理 LDAP 连接和查询——但是在 WSL2 执行这部分初始化时,它尚未启动任何服务。

(请记住,WSL2 的启动方式与常规 VM 不同——WSL2 VM 首先启动到固定的“系统发行版”操作系统,然后像 Docker 容器一样生成您的实例。因此,系统发行版可能会在启动 systemd 之前尝试在您的发行版中查找默认用户名。)

解决方法:将 FreeIPA 域中的帐户信息复制到本地 /etc/passwd(具有相同的 UID 和所有内容),使用getent passwd myusername >> /etc/passwd或手动通过useradd

相关内容