cygwin:管理员用户不是管理员组的成员

cygwin:管理员用户不是管理员组的成员

我有两台 Win10_64 Pro PC。一台运行正常,另一台则不然,我不知道如何解决有问题的 PC 上的问题。还有一点值得注意,我刚刚从 cygwin 版本 1.7 升级到 3.0.7,升级后出现了问题(之前运行正常)。

有问题的机器存在问题,即管理员帐户不是管理员组的成员:

$ groups
None Users INTERACTIVE CONSOLE LOGON Authenticated Users This Organization Local account CurrentSession LOCAL NTLM Authentication Medium Mandatory Level

然而,工作 PC 有不同的组输出:

$ groups
None Local account and member of Administrators group Administrators Users NETWORK Authenticated Users This Organization Local account CurrentSession NTLM Authentication High Mandatory Level

在这两种情况下,我都使用快捷方式运行 cygwin shell(而不是使用“以管理员身份运行”)。除了没有管理员组之外,我还看到高强制级别和中强制级别之间存在差异,我认为这些也与问题有关。

我知道我可以在提升的提示符下运行 cygwin shell,但我想通过 SSH 登录并拥有完全管理员权限,这就是我想在有问题的机器上解决这个问题的原因。我就是不知道该怎么做。

我已经使用“计算机管理”->“用户”->“管理员”->“成员”选项卡验证了两台 PC 上的管理员帐户都是管理员组的成员,并验证它们是否匹配。我还运行了mkpasswd -l > /etc/passwdmkgroup -l > /etc/group重新启动了,但问题仍然存在(以防在 cygwin 升级期间遗漏了某些内容)。不过,我在互联网上看到了关于此问题的相互矛盾的反馈;这意味着 cygwin 可能不会对这些文件做太多处理,并且/或者忽略它们。

我在两台电脑上也都有默认的 /etc/nsswitch.conf:

$ cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
#    This file is read once by the first process in a Cygwin process tree.
#    To pick up changes, restart all Cygwin processes.  For a description
#    see https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch
#
# Defaults:
# passwd:   files db
# group:    files db
# db_enum:  cache builtin
# db_home:  /home/%U
# db_shell: /bin/bash
# db_gecos: <empty>

我的电脑不属于 AD 的一部分,我们严格使用本地登录(与 Microsoft Live ID 无关)。

任何帮助都非常感谢。非常感谢!

答案1

这很有趣。经过几天的适应,问题已经自行解决。我没有采取任何措施,但有一个自动 Windows 更新重新启动了 PC。我希望我有一个更明确的答案。也许是重新启动,也许需要一些浸泡时间。

相关内容